Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Система плагинов для программы на с++

Ответить
Настройки темы
Разное - Система плагинов для программы на с++

Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25


Конфигурация

Профиль | Отправить PM | Цитировать


Для программы нужно создать систему плагинов. Плагины должны представлять из себя обычный текст. При запуске программы нужно скомпилировать все плагины в нативный код. Сама программа написана на с++. Смотрел в сторону LUA, и в часности на LuaJIT, но там нету быстрой и легкой интеграции в с++ код(хотя вызвать чисто сишные методы легко). Собственно нужна легкая интеграция с с++, ООП, и главное-компиляция(в приложении очень важна скорость, и количество потребляемой памяти). Также было бы круто иметь синтаксис как в Java или С#. Как для моих целей может подойти Google V8(там все идеально, только не уверен за скорость)?
Посоветуйте что нибуть нормальное и быстрое.

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 20:12, 15-04-2012

 
pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


Плагины в виде библиотек рассматривались? (компиляция в нативный код компилятором)

Отправлено: 19:51, 05-05-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


Цитата pva:
Плагины в виде библиотек рассматривались »
Та хоть в яблоках или апельсинах . Главное что бы работало быстро, памяти ело мало... Скорость первого запуска плагина не важна(то есть, имеем кучу новых плагинов, запускаем приложение, магия магия магия, две, три, четыре минуты магии, и вот оно-приложение работает быстро и без тормозов). Уже вроде бы присмотрел несколько вариантов... Первый, более простой, прикрутить MONO к приложению (кроме самого MONO получаем кучу дополнительных бонусов). Второй вариант-собрать на основе cygwin или mingw свой маленький компилятор, допилить нужные функции, выпилить не нужные (скорость в итоге будет выше всего, но и танцев побольше будет). На относительно второго варианта не очень уверен, не знаю, как код с++ скомпиленый mingw(cygwin) подружится с приложением на msvc... Вообщем, предлагайте варианты, буду рад услышать советы.

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 20:37, 06-05-2012 | #3

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


зачем собирать компилятор? чем mingw не компилятор то? Перед запуском выполняешь g++ -shared plugin.cpp -o plugin.dll (или как-то так) и вперёд... Быстрее скомпилированного гецецой кода ничего не будет работать.
Как вариант - собирать объектники и линковать результирующий код. В общем получится что-то генту-подобное. Конечно, вместе с исходниками или объектниками нужно тогда поставлять mingw.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:25, 07-05-2012 | #4


Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


Ну, в с++ я не мастер, так что вопрос, при g++ -shared plugin.cpp -o plugin.dll будет прилинкована стандартная библиотека с++ к dll?

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 12:45, 08-05-2012 | #5

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


g++ аналогичен по действию gcc -lstdc++ и ещё реакцией на расширения файлов.
Можно почитать здесь http://parter.kaist.ac.kr/man/g++.html (найдено гуглением man g++)

Цитата crashtuak:
прилинкована стандартная библиотека с++ к dll? »
да, это и есть -lstdc++

Отправлено: 20:11, 08-05-2012 | #6


Аватара для crashtuak

Старожил


Сообщения: 467
Благодарности: 25

Профиль | Отправить PM | Цитировать


Вариант с mingw может прокатить только если остальное приложение будет на основе mingw, а то физическое представление объекта компилятора mingw может отличатся от такового у msvc. Еще беда в том, что либу от mingw к msvc будет проблемно прикрутить. То есть, надо будет извращаться, делать либо сишный интерфейс, либо долго и муторно искать способ подружить два компилятора.
если бы не библиотека с закрытым кодом в приложении, без которой никак, и которая собрана под msvc, я б не парился и все на mingw сделал бы

-------
Мне надо не так много "Полезных сообщений", чтоб сровнять их количество с моими постами :).


Отправлено: 17:51, 09-05-2012 | #7

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


варианты:
1) msvc-шную часть скомпилировать при помощи gcc (и она станет gcc-шной)
2) msvc-шную часть скомпилировать в dll и подключать эту dll при сборке в gcc
3) в msvc-шной части сделать обзор dll-ок из папки /plugin и вызывать у каждой найденной какую-нить функцию (так делает большинство серьёзных программ), а dll-ки подкладывать в папку после сборки при помощи gcc
Цитата crashtuak:
если бы не библиотека с закрытым кодом в приложении »
тут по ходу дела вариант 2.
Цитата crashtuak:
либу от mingw к msvc будет проблемно прикрутить »
DLL прикрутить значительно проще.
Хотя у меня был случай, когда надо было сделать плагин, у которого в аргументах интерфейсных функций была паскалевская строка. Сделать его на c++ я не осилил, пришлось использовать delphi

Отправлено: 19:52, 09-05-2012 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Система плагинов для программы на с++

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] система запускается но программы не работают seven.ap Лечение систем от вредоносных программ 13 12-11-2011 13:12
Какие надо программы записать что-бы система работала стабильно ? rock_i_am Флейм 11 15-05-2011 02:24
Разное - Вопросы по написанию плагинов для Opera 11 Clarc Программирование и базы данных 0 03-01-2011 20:24
Разное - Тупит система, на запускаются программы DeYura Microsoft Windows 7 2 23-06-2010 14:01
Создание плагинов netmax Программирование и базы данных 2 10-04-2004 12:09




 
Переход