Форум программистов, компьютерный форум CyberForum.ru

Вызов одного приложения из других - C++

Восстановить пароль Регистрация
 
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
21.08.2013, 20:35     Вызов одного приложения из других #1
Доброго времени суток дамы (уж если таковые тут имеются) и господа (что более вероятно)!
Столкнулся я вот с какой проблемой - приступив к изучению новой для себя темы "Базы данных" нашел на просторах интернета задание, примерно следующего содержания:
--Написать key-value storage с основными операциями (CRUD) и радоваться.
Проблем это не вызвало и я это сделал на языке программирования C++ довольно было. Но дальше задание немного видоизменилось. Мне предложили не просто работать в данной программе, а вызывать ее из какой-то другой посредством некоторых API (все те же CRUD операции.) Google не помог) Наверное, просто дело в том, что я даже не знаю, как сформировать запрос. Что мне хотелось бы сделать:
-- Приложение А == база данных. Имеет операции #Add(<someth>), #Delete(<someth_other>), #Read(<just_for_fun>), #Update(<important>) (простите за нотку специфичного юмора).
-- Приложения Б == основное приложение (допустим, телефонная книга), В == второстепенное приложение (пусть это будет список знакомых мне людей). Внимание вопрос: Как мне сделать так, чтоб я мог вызывать методы (ф-ции) приложения "А" и в "Б" и в "В"? Т.е База одна, но приложения используют ее по разному (пишут все в одну базу, соответственно) Всю голову себе поломал уже)
Очень надеюсь на вашу помощь и адекватную реакцию на новичка.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
21.08.2013, 20:58     Вызов одного приложения из других #2
Vlad Pisatel, непонятно одно, зачем вызывать приложение из приложения? Оформите слой для работы с БД в библиотеку и вперед.
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
21.08.2013, 21:08  [ТС]     Вызов одного приложения из других #3
fasked, Вот именно этого я и не знаю)) Что значит "оформить слой"?)
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
21.08.2013, 21:29     Вызов одного приложения из других #4
Vlad Pisatel, просто создать библиотеку с набором функций для работы с БД.
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
21.08.2013, 21:57  [ТС]     Вызов одного приложения из других #5
fasked,Это да) Что-то я и правда об этом не подумал) Хот я уже так делал)
А если бы у меня действительно возникла необходимость использовать одну программу через другую - как это можно было бы реализовать?)

Добавлено через 1 минуту
fasked, Что-то мне кажется, что базы данных и СУБД - это не просто библиотеки...ведь так?
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.08.2013, 02:14     Вызов одного приложения из других #6
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
А если бы у меня действительно возникла необходимость использовать одну программу через другую - как это можно было бы реализовать?)
IPC: сокеты, пайпы, общая память, файлы
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
22.08.2013, 11:11     Вызов одного приложения из других #7
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
Что-то мне кажется, что базы данных и СУБД - это не просто библиотеки...ведь так?
Сама по себе база данных это и вовсе не программа. А вот СУБД это клиентская программа с некоторым интерфейсом, которая как раз таки использует библиотеку для общения с БД.
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
22.08.2013, 16:04  [ТС]     Вызов одного приложения из других #8
fasked, а как тогда происходит общение приложения с СУБД?
Допустим, что нужно организовать базу по схеме master/slave - тут я не смогу ограничиться просто библиотекой. Мне нужно реальное приложение, которому нужен доступ, верно я думаю?

Добавлено через 4 минуты
Jupiter, кажется, это то, что нужно)
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.08.2013, 17:13     Вызов одного приложения из других #9
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
по схеме master/slave
вызов функции, чем не master-slave?
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
22.08.2013, 18:58     Вызов одного приложения из других #10
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
а как тогда происходит общение приложения с СУБД?
Клиентское приложение обычно не общается именно с СУБД, может быть в особо извращенных случаях только. Все общение происходит через специальные библиотеки. Как работает эта библиотека это уже другой вопрос. В простых embedded БД (например SQLite) весь engine БД зашит сразу в библиотеку. В серверных БД библиотека отправляет определенные команды на сервер (чаще всего используя сокеты). Сервер отвечает и функции библиотеки должным образом обрабатывают эти ответы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2013, 19:21     Вызов одного приложения из других
Еще ссылки по теме:

Формирование двух других массивов из одного исходного одномерного массива C++
2-мерные массивы: Вызов конструктора портит данные в других экземплярах C++
Как происходит вызов одного приложения другим? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
22.08.2013, 19:21  [ТС]     Вызов одного приложения из других #11
Jupiter, Ээээ... ну в принципе наверное да, можно и так...
fasked, Вот за это вот спасибо большое) Значит, все же библиотека - самое правильное и удобное решение...
Yandex
Объявления
22.08.2013, 19:21     Вызов одного приложения из других
Ответ Создать тему
Опции темы

Текущее время: 05:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru