|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.06.2012, 15:09 | #1 |
Новичок
Джуниор
Регистрация: 19.06.2012
Сообщений: 4
|
Теоретическая часть. По сопутствуйте, буду рад :)
Здравствуйте. Решил написать программу, идея программы заключается в том чтобы на базе консольного приложения написать программу(функции ввода вывода, изменения цвета, скроллинг видимого буфера консоли). Программа будет пользователем получать команды, и исполнять функции, но этот функционал должен подключаться в виде библиотек dll. Для библиотек будет выделена соответствующая папка в директории с программой, программа заранее не знает о наличии библиотек в папке, подключение библиотеки будет вызываться командой #connect ИМЯ_БИБЛИОТЕКИ. Библиотека должна включать в себя поля, такие как слова автора ( к примеру команда about()), список функций в виде текста, описания функций (названия и аргументы) и сам функционал.
Проблема заключается в том, что я не имею представления как обрабатывать библиотеки программой, библиотеки будут выглядеть в данном случае как модули. Консольное приложение команд в себе не будет нести, но будет оболочка. К примеру в библиотеке test1.dll есть функция возведения в квадрат qF(int i); Из консольного приложения я подключаю эту библиотеку (#connect test1) а так же с помощью интерфейса(ввод с клавиатуры) вызываю из библиотеки функцию qF c аргументом 5 вида "/qF 5" которая выводит на экран число 25. Библиотека должна иметь доступ к интерфейсу консоли (команды вывода и применения цвета). Пишу приложение на С++. Реализации выше написанному не представляю. Ранее по этому вопросу мне подсказали что-то насчет движка для плагинов или что-то в этом роде. Прошу направить мой интерес в нужное русло. |
19.06.2012, 16:33 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Что-то очень напоминает вирусы и ботнеты...
|
19.06.2012, 21:36 | #3 |
Новичок
Джуниор
Регистрация: 19.06.2012
Сообщений: 4
|
Чем то вы и правы, но все же ваш ответ не по теме.
За то время которое прошло после создания этой темы я нашел то что мне нужно. Код основной программы Код:
Код:
В строке Код:
Проблема в том что я не знаю какие функции будут в модуле, но знаю список функций в виде текста, следовательно я не могу использовать Код:
Код:
Буду рад любой информации касательно темы! p.s. Допустим в модуле будет функция инициализации которая будет всегда исполняться при подключении, каким методом можно из библиотеки к примеру передать объект/массив, в общем набор внутренних функций, в основную программу? Массив ссылок на функции и т.д. |
20.06.2012, 09:37 | #4 |
Форумчанин
Регистрация: 08.07.2010
Сообщений: 505
|
Основная программа должна будет знать типы функций. С++ строго типизированный язык. Если тип один, то можно передать массив строк с названиями.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Последний раз редактировалось Krok27; 20.06.2012 в 09:40. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Кто поможет найти ошибку в программе буду рад | Progsenya | Общие вопросы C/C++ | 4 | 09.07.2010 00:28 |
iTAP (T9). Буду рад советам и помощи. | [Witold] | Компоненты Delphi | 2 | 03.01.2010 16:46 |
Паскаль Задачи. примерно 10 буду рад если решите... желательно с блок схемами. Буду сильно благодарен. | Азарт | Помощь студентам | 8 | 26.03.2009 23:51 |