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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
#1

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

21.08.2013, 20:35. Просмотров 525. Ответов 10
Метки нет (Все метки)

Доброго времени суток дамы (уж если таковые тут имеются) и господа (что более вероятно)!
Столкнулся я вот с какой проблемой - приступив к изучению новой для себя темы "Базы данных" нашел на просторах интернета задание, примерно следующего содержания:
--Написать key-value storage с основными операциями (CRUD) и радоваться.
Проблем это не вызвало и я это сделал на языке программирования C++ довольно было. Но дальше задание немного видоизменилось. Мне предложили не просто работать в данной программе, а вызывать ее из какой-то другой посредством некоторых API (все те же CRUD операции.) Google не помог) Наверное, просто дело в том, что я даже не знаю, как сформировать запрос. Что мне хотелось бы сделать:
-- Приложение А == база данных. Имеет операции #Add(<someth>), #Delete(<someth_other>), #Read(<just_for_fun>), #Update(<important>) (простите за нотку специфичного юмора).
-- Приложения Б == основное приложение (допустим, телефонная книга), В == второстепенное приложение (пусть это будет список знакомых мне людей). Внимание вопрос: Как мне сделать так, чтоб я мог вызывать методы (ф-ции) приложения "А" и в "Б" и в "В"? Т.е База одна, но приложения используют ее по разному (пишут все в одну базу, соответственно) Всю голову себе поломал уже)
Очень надеюсь на вашу помощь и адекватную реакцию на новичка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2013, 20:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вызов одного приложения из других (C++):

Вызов других программ из консольного приложения - C++
как с помощью консоли другие программы? Т.е например,я в консоли ввожу &quot;Какой либо текст&quot; и он должен мне будет открыть...

Как происходит вызов одного приложения другим? - C++
Здравствуйте. Пишу набор консольных утилит, столкнулся с проблемой того, что функция API копирования файла срабатывает при запуске...

Вызов функций с шаблонами из других файлов - C++
Всем здрасьте ! у меня есть 3 файла: main.cpp, wrap.h и wrap.cpp В wrap.h в namespace у меня объявлены функции с шаблонами: ...

2-мерные массивы: Вызов конструктора портит данные в других экземплярах - C++
Проблема: обнаружилось, что порой пропадают числа из существующих экземпляров класса. Числа (коллективно -- строками или колонками)...

Из одного слова составить несколько других - C++
Всем привет. Задача такая: Есть слово &quot;информатика&quot;. Надо из этого слова получить слова &quot;форма&quot;, &quot;романтика&quot; и &quot;инФОРМАТИКА&quot;. Примерно знаю...

Формирование двух других массивов из одного исходного - C++
Помогите пожалуйста написать код.Задано массив a1,a2...a2n.Написать программу построения массива x1,x2....xn и y1,y2,....yn елементы...

10
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
21.08.2013, 20:58 #2
Vlad Pisatel, непонятно одно, зачем вызывать приложение из приложения? Оформите слой для работы с БД в библиотеку и вперед.
0
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
21.08.2013, 21:08  [ТС] #3
fasked, Вот именно этого я и не знаю)) Что значит "оформить слой"?)
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
21.08.2013, 21:29 #4
Vlad Pisatel, просто создать библиотеку с набором функций для работы с БД.
0
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
21.08.2013, 21:57  [ТС] #5
fasked,Это да) Что-то я и правда об этом не подумал) Хот я уже так делал)
А если бы у меня действительно возникла необходимость использовать одну программу через другую - как это можно было бы реализовать?)

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

Добавлено через 4 минуты
Jupiter, кажется, это то, что нужно)
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.08.2013, 17:13 #9
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
по схеме master/slave
вызов функции, чем не master-slave?
0
fasked
Эксперт С++
4942 / 2522 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
22.08.2013, 18:58 #10
Цитата Сообщение от Vlad Pisatel Посмотреть сообщение
а как тогда происходит общение приложения с СУБД?
Клиентское приложение обычно не общается именно с СУБД, может быть в особо извращенных случаях только. Все общение происходит через специальные библиотеки. Как работает эта библиотека это уже другой вопрос. В простых embedded БД (например SQLite) весь engine БД зашит сразу в библиотеку. В серверных БД библиотека отправляет определенные команды на сервер (чаще всего используя сокеты). Сервер отвечает и функции библиотеки должным образом обрабатывают эти ответы.
0
Vlad Pisatel
0 / 0 / 0
Регистрация: 10.01.2013
Сообщений: 28
22.08.2013, 19:21  [ТС] #11
Jupiter, Ээээ... ну в принципе наверное да, можно и так...
fasked, Вот за это вот спасибо большое) Значит, все же библиотека - самое правильное и удобное решение...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.08.2013, 19:21
Привет! Вот еще темы с ответами:

Не запускается Exe файл приложения на других ПК - C++
Написал программу с использованием openCV, нужно чтобы она запускалась на других ПК. Скопировал в папку к экзешнику необходимые библиотеки,...

Обеспечить работу приложения с БД Firebird на других ПК - C++
Добрый день. Есть программа с бд на firebird, как скомпилировать программу так, что бы на компьютере где нет firebird она запускалась и...

Формирование двух других массивов из одного исходного одномерного массива - C++
Помогите пожалуйста написать полностю код.Вот задание:&quot;Задано массив a1,a2...a2n.Написать программу построения массива x1,x2....xn и...

Вызов функции одного класа в другом - C++
Доброго времени суток всем!:) Столкнулся с такой проблемой, не судите строго, только начал изучать ООП и тут возникла трабла... Есть 2...


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
22.08.2013, 19:21
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru