Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.188.119.219] |
|
Сообщ.
#1
,
|
|
|
А вот я чего то все глаза проглядел - может есть в бусте что то для работы с динамическими библиотеками?
Интерфейсы то во всех системах более менее похожи, хоть и отличаются,.. ну типа dlopen/dlsyn/dlclose, LoadLibrary/GetProcAddress ... Мне кажется, что в бусте уже давно должны были унфицировать, ??? Может называется как то по хитрому? всем спасибо. |
Сообщ.
#2
,
|
|
|
нет.
|
Сообщ.
#3
,
|
|
|
плохо.
|
Сообщ.
#4
,
|
|
|
кстати...не понятно почему нет
могли бы и написать. возможно на досуге поковыряю в этом направлении. |
Сообщ.
#5
,
|
|
|
Цитата niXman @ возможно на досуге поковыряю в этом направлении. Дополнишь boost? |
Сообщ.
#6
,
|
|
|
Цитата AZote @ Дополнишь boost? нет. для себя, и развития. |
Сообщ.
#7
,
|
|
|
Хорошенькая такая дока. Linux и в конце по Windows.
А отсутствует скорее всего из-за больших различий в экспорте и импорте данных. И соответственно если делать клиентский код, то нужен код и для создания библиотек, думаю, что уже задумывались над этим, но не получилось чего-то вменяемого. Можешь еще поискать тут. |
Сообщ.
#8
,
|
|
|
Цитата А отсутствует скорее всего из-за больших различий в экспорте и импорте данных. И соответственно если делать клиентский код, то нужен код и для создания библиотек, думаю, что уже задумывались над этим, но не получилось чего-то вменяемого. В Qt есть набор макросов для обеспечения динамической загрузки dll. Но там, быть может, их генератор кода что-то генерирует дополнительно... |
Сообщ.
#9
,
|
|
|
я недавно писал код для импорта из длл, для msvc, пока что код выглядит так
http://code.google.com/p/nabla-kb/source/browse/system/rce/cpp_rce_tools/rce/lasy_import.h использование __declspec(naked) void __stdcall MessageBoxImp(int reserved, const char* text, const char* capt, int unused) LASY_IMPORT_BYCHARNAME_STUB(MessageBoxImp, user32, "MessageBoxA") если делать не функции, а указатели, то библиотечный код будет выглядеть существенно проще, и без асм-вставок |
Сообщ.
#10
,
|
|
|
Цитата Hsilgos @ В Qt есть набор макросов для обеспечения динамической загрузки dll. Но там, быть может, их генератор кода что-то генерирует дополнительно... В Qt есть QLibrary - класс обёртка выше перечисленных функций. |
Сообщ.
#11
,
|
|
|
хороший синтаксис импорта функций из длл - это
как в дельфи fucntion func():integer; external "module.dll"; как в VB function func lib "module.dll" () As Boolean как в С# [DllImport("module.dll")] static extern void func(); т.е. все собрано в одном месте, прототип функции, ее длл [, ее имя\ординал] при этом все пишется только 1 раз, ничего лишнего |
Сообщ.
#12
,
|
|
|
если нужно загружать свои библиотеки - то рекомендую Poco::SharedLibrary, причем никаких Qt генераторов )
|
Сообщ.
#13
,
|
|
|
Цитата GoldFinch @ Это не импорт сам по себе, а связывание имени с адресом из таблицы импорта. А речь идёт о динамической загрузке в рантайме. хороший синтаксис импорта функций из длл - это как в дельфи fucntion func():integer; external "module.dll"; как в VB function func lib "module.dll" () As Boolean как в С# [DllImport("module.dll")] static extern void func(); т.е. все собрано в одном месте, прототип функции, ее длл [, ее имя\ординал] при этом все пишется только 1 раз, ничего лишнего |
Сообщ.
#14
,
|
|
|
Повстанець в случае с VB и C# - это динамическая загрузка в рантайме.
|