Создайте библиотеку C / C ++, чтобы связать ее с приложением delphi… Как?
Вопрос
если у меня есть исходный код библиотеки, написанный на C / C ++ (скажем, libxml2), теперь я хотел бы создать его и связать с приложением delphi...Я знаю, что это возможно, поскольку Delphi Zlib делает это ( http://www.dellapasqua.com/delphizlib/ ) ...Но мой вопрос в том, как подготовить эти obj-файлы?
Заранее спасибо м.
Решение
Вам нужно будет использовать компилятор CodeGear на C ++ для создания совместимых obj-файлов для Delphi.Поставляется ли ваш Delphi с C ++ Builder?В противном случае вы могли бы попробовать бесплатная версия командной строки (Borland).Узнайте больше об этой теме здесь.
Другие советы
Если вы создаете dll, которая привязана к двоичному интерфейсу приложения C (ABI), вы можете динамически ссылаться на нее либо из приложения C ++, либо из Delphi.
Желательно, чтобы вы сделали следующее:
- Используйте только код в стиле C или C, сделайте себе одолжение и окружите модуль
#ifdef __cplusplus
extern "C"
{
//header file
}
#endif //__cplusplus
Это гарантирует, что код компилируется в C ABI
желательно сделать функции __stdcall
Скомпилируйте функцию как dll
отсюда вы должны иметь возможность ссылаться на библиотеку dll таким же образом, как Delphi может ссылаться на любую библиотеку DLL Windows.(Я не могу вспомнить, что нужно сделать со стороны Delphi)