Re[4]: Проблема подключения к Qt-программе DLL, написанных на Builder
От: visual_wind  
Дата: 03.02.14 10:23
Оценка:
Здравствуйте, TYuD, Вы писали:

TYD>Что такое ABI?

Об этом вкратце можно почитать здесь.

TYD>Если бы только С-шный интерфейс был ограничением, то и сошло бы (так и планировалось). Но внутри ДЛЛки хочется объекты юзать. Вот потоки пришлось отрубить, VCL.. Уже неприятно. Но более волнует вопрос о том, сколько еще подводных камней?


По идее, объекты внутри длл, собранной другим компилятором, использовать можно. Но перечислить все подводные очень сложно. Если у вас билдер.длл работала ранее, то наверняка там все нормально с соглашением о вызовах. Если у вас при этом:
— одинаковая разрядность обоих компиляторов
— все экспортируемое — extern C
— одинаковое выравнивание в структурах
— аккуратно обрабатываются исключения внутри длл, не давая им вылезти наружу в экзешник
— ресурсы (включая память), захваченные в экзешнике, не освобождаются в длл (и наоборот),

то больше посоветовать ничего не могу. Скорее всего, есть еще достаточно неучтенных проблем, которые вым придется решать опытным путем. Увы, только методом проб и ошибок.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.