Создайте библиотеку C / C ++, чтобы связать ее с приложением delphi… Как?

StackOverflow https://stackoverflow.com/questions/1966352

  •  21-09-2019
  •  | 
  •  

Вопрос

если у меня есть исходный код библиотеки, написанный на 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.

Желательно, чтобы вы сделали следующее:

  1. Используйте только код в стиле C или C, сделайте себе одолжение и окружите модуль

#ifdef __cplusplus
extern "C"
{
//header file
}
#endif //__cplusplus

Это гарантирует, что код компилируется в C ABI

  1. желательно сделать функции __stdcall

  2. Скомпилируйте функцию как dll

отсюда вы должны иметь возможность ссылаться на библиотеку dll таким же образом, как Delphi может ссылаться на любую библиотеку DLL Windows.(Я не могу вспомнить, что нужно сделать со стороны Delphi)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top