C++ DLL mit stdcall erstellen?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

C++ DLL mit stdcall erstellen?

Beitrag von MmVisual »

Hallo,

Ich muss es irgendwie hin bekommen dass ich irgend welche Bibliotheken von Fremdfirmen nutze.
Nun meine Idee ist, diese Funktionen als DLL zu verpacken (die in C++ / VisualStudio erzeugt werden muss), damit ich darüber das ganze in Lazarus nutzen und programmieren kann.

Ich habe leider nirgends eine Anleitung gefunden wie ich eine DLL mit VisualStudio erzeugen kann so dann ich diese Funktionen mit LoadLibrary und "stdcall" aufrufen kann.

Hat jemand das schon mal gemacht? Oder kennt jemand einen Link wie das geht?
Ich bin jetzt nicht der C++ Experte, daher hier die Frage. Lazarus Seite ist für mich kein Problem.

Dankeschön.

VG Markus
EleLa - Elektronik Lagerverwaltung - www.elela.de

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: C++ DLL mit stdcall erstellen?

Beitrag von af0815 »

MmVisual hat geschrieben:
Di 29. Nov 2022, 12:22
Ich muss es irgendwie hin bekommen dass ich irgend welche Bibliotheken von Fremdfirmen nutze.
Nun meine Idee ist, diese Funktionen als DLL zu verpacken (die in C++ / VisualStudio erzeugt werden muss), damit ich darüber das ganze in
C ja, C++ nein. Das ist die kurze Formel unter/für fpc/Lazarus. Wenn es C++ Libs gibt, so muss man die erst in 'C flatten'.

Google hilft da
viewtopic.php?t=10931
https://forum.lazarus.freepascal.org/in ... ic=25114.0
und viele andere
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).


MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: C++ DLL mit stdcall erstellen?

Beitrag von MmVisual »

Dankeschön, hat geklappt.
Als MFC-DLL, dann noch x64 umstellen und die CALL Methode stand zwar schon auf "PASCALL", musste umgestellt werden und noch diverse Libs verknüpfen.
Ein Glück dass ich Lazarus für die eigene EXE verwenden kann ...
VG Markus
EleLa - Elektronik Lagerverwaltung - www.elela.de

PascalDragon
Beiträge: 825
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: C++ DLL mit stdcall erstellen?

Beitrag von PascalDragon »

MmVisual hat geschrieben:
Mi 30. Nov 2022, 23:30
Als MFC-DLL, dann noch x64 umstellen und die CALL Methode stand zwar schon auf "PASCALL", musste umgestellt werden und noch diverse Libs verknüpfen.
Unter x86_64 ist die Aufrufkonvention weniger relevant. Unter i386 müsstest du dann auf der Pascal Seite auch die pascal Aufrufkonvention verwenden, der Standard ist nämlich register, welche von MSVC nicht unterstützt wird. Oder eben auf der MSVC Seite auf cdecl oder stdcall umstellen.
FPC Compiler Entwickler

Antworten