Einzelnen Beitrag anzeigen

pdug

Registriert seit: 18. Jul 2006
3 Beiträge
 
#23

Re: Delphi DLL und deren Import in C/C++

  Alt 8. Jul 2007, 04:07
Frisch getestet:

DLL my.dll erstellt mit Borland Studio 2006 (Delphi für Win32 Dll Projekt)
my.lib importiert mit MS Visual Studio 2005 (C++ für Win32 Projekt)


my.def erstellen mit BORLAND:
Code:
IMPDEF my.def my.dll
my.lib erstellen mit MSVC:
Code:
LIB /MACHINE:x86 /DEF:my.def
Textdatei def.tmp als Vorlage für .def Datei mit MSVC erstellen (falls IMPDEF Probleme macht.):
Code:
DUMPBIN /EXPORTS /OUT:def.tmp my.dll

Oder DEF Datei per Hand:
Code:
LIBRARY    MY.DLL

DESCRIPTION 'MY Dll'

EXPORTS
    myFunction       ; comment
Im Header:

Code:
#define DLLPACK __declspec(dllimport)

extern "C" {
  DLLPACK float myFunction(void);
}

my.lib in Projekt einbinden und fertig.


p.s. Kann - außer etwas Tipparbeit - keinen Nachteil des Ladens zur Laufzeit sehen. Im Gegenteil: So kann sich ein Programm definiert verhalten selbst wenn die DLL fehlt. Verzicht auf die DLL durch statisches linken ist mit einer Importbibliothek ja eh nicht drin.
  Mit Zitat antworten Zitat