Einzelnen Beitrag anzeigen

Frickeldrecktuxer_TM
(Gast)

n/a Beiträge
 
#5

Re: Linker: Generate c/c++ object files ?

  Alt 7. Mai 2006, 17:57
Zitat von pajofego:
Wie verhält sich da der Unterschied zu normalen DLLs?
DLLs (Shared Objects) lädtst du zur Laufzeit, sie sind getrennte Dateien. Normale Objects linkst du in das Binary ein, sie werden also nicht zwischen Anwendungen geteilt und sind nicht externe Dateien, die mitgeliefert werden müssen.

Zitat von pajofego:
Hintergrund, ist dass ich eine nette Delphi Komponente ich Delphi habe und diesen Code ganz gerne in C/C++ verwenden möchte und mir nach Möglichkeit das Umschreiben von Delphi nach C/C++ ersparen möchte.
Ich wäre mir nicht so sicher, daß das ABI dann ebenfalls an C++ angepasst wird. Wenn du Klassen benutzt hast du dann Objectcode, der nicht mit gängigen (G++/MSVC++) C++-ABIs kompatibel ist. Gewöhnliche Funktionen (außerhalb einer Klasse) solltest du aber einfach nutzen können. In C deklarierst du sie dann (wie immer Calling Convention beachten, in Delphi also cdecl verwenden), definierst sie aber nicht, und schon wird der inker die eine Fehlermeldung geben, daß die Funktion nirgends definiert ist, und dann musst du ihm das Objectfile von Delphi unterjubeln. Wie das alles genau geht sollte im Handbuch zu deinem Linkerstehen.
  Mit Zitat antworten Zitat