Pergunta

Se eu tiver uma fonte de biblioteca escrita em C/C ++ (digamos seu libxml2), agora gostaria de construí -lo e vinculá -lo ao aplicativo Delphi ... eu sei que é possível, já que Delphi Zlib faz isso ( http://www.dellapasqua.com/delphizlib/ ) ... Mas minha pergunta é: como preparar esses arquivos .obj?

Obrigado antecipadamente m.

Foi útil?

Solução

Você precisaria usar o compilador C ++ do CodeGear para produzir arquivos OBJ compatíveis para Delphi. Seu Delphi vem com C ++ Builder? Caso contrário, você poderia tentar o Versão gratuita (Borland) CommandLine. Leia mais sobre este assunto aqui.

Outras dicas

Se você criar uma DLL que adere à interface binária do aplicativo C (ABI), poderá vincular dinamicamente a ele de um aplicativo C ++ ou Delphi.

É aconselhável que você faça o seguinte:

  1. Use apenas o código do estilo C ou C, faça um favor a si mesmo e cerca o módulo com

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

Isso garante que o código compila no C ABI

  1. É aconselhável fazer as funções __stdCall

  2. Compilar a função como uma DLL

A partir daqui, você poderá vincular à DLL da mesma maneira que a Delphi pode vincular a qualquer DLL do Windows. (Não me lembro do que precisa ser feito do lado Delphi)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top