2010-09-08 3 views
-1

Хорошее время суток! Подскажите, пожалуйста, где я могу найти информацию о создании системы плагинов в C++? линукснаписать плагин в C++

+2

Не настоящий вопрос и никакого акцента ни на какие усилия с вашей стороны ... голосование за закрытие ... – t0mm13b

+1

Когда я спрашиваю, что это за ОС, вы можете добавить тег «linux» и ** сделать полное предложение ** не просто одно слово. Похоже, вы не хотите тратить время на то, чтобы написать приятный вопрос, поэтому я больше не буду тратить время на то, чтобы сделать полный ответ. – ereOn

+0

«Где я могу найти информацию о создании системы плагинов», когда-либо слышал о http://www.google.com/search?hl=ru&safe=active&q=c%2B%2B+plugin+system&aq=f&aqi=&aql = & oq = & gs_rfai =? – doc

ответ

3

Это сильно зависит от вашей операционной системы, но принцип всегда одинаков:

Обычно, ваши нагрузки программы один или несколько динамических библиотек - плагинов, - (.dll файлы на окнах, .so на * Никс), что имеют одинаковый открытый интерфейс (тот же набор функций с идентичными именами и параметрами).

Кстати, эти библиотеки не требуют написания на C++: вы можете создать свою основную программу с помощью C++, а затем создать плагин с помощью Delphi. Пока публичный интерфейс остается прежним, все в порядке.

У вас недостаточно информации, чтобы быть более конкретным.

Какая ОС вы нацеливаете?

+0

Разве это не требует, чтобы совместно используемые библиотеки использовали одно и то же соглашение о вызовах, которое C/C++ делает на платформе? – Llamageddon

+0

@ Asmageddon: Действительно. Также есть проблема, с которой связана одна среда выполнения. – ereOn

+0

Хм, так что в принципе, если я хочу, я могу использовать конвенцию пользовательского вызова для моего языка и предоставить некоторые C-экстерны, если захочу, правильно? Хотя я думаю, что это не будет сильно отличаться, и совсем нет, если я смогу сделать то, о чем я об этом подумаю. Для заметки я хочу получить несколько возвращаемых значений через кортежи, а также возможность добавлять функции, возвращающие что-либо вообще, в указатели функции * -> Void. – Llamageddon

Смежные вопросы