Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Moin,
würde gern eine C-Bibliothek (in Form einer .c-Datei) in ein Delphi-Projekt linken. Hat da jemand Erfahrung mit solchen Mischprojekten die keinen händischen Eingriff erfordern um bspw. die OBJ-Datei zu erzeugen die gelinkt werden soll (ob OBJ oder LIB ist mir im Endeffekt egal). Alles was ich bisher sah, benutzte im Prinzip {$LINK ...} aber die OBJ-Datei mußte quasi "vorkompiliert" werden. Außerdem scheint mir die Dokumentation der maskierten Symbolnamen (bei dieser Methode) etwas mager, was mir immer wieder Probleme bereitet. Danke. Edit: es geht also speziell darum, daß ich innerhalb des Projektes wie es vom RAD Studio erstellt wird (oder innerhalb einer Projektgruppe) in die Lage versetzt werde den C-Code frisch zu kompilieren und dann in das Projekt reinzulinken. |
AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Da Delphi keinen C-Compiler hat könnnen C/CPP-Dateien nicht direkt verwendet werden sondern nur die Zwischenkompilate ALA *.obj.
|
AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Da er wohl das RAD-Studio hat, welches einen C-Compiler beinhaltet, sollte es theroetisch möglich sein. Notfalls halt mit manueller Build-Skript Anpassung
Btw.: Welcome Back Olli. |
AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Ich kenn auch nur den Weg über die vorkompilierte OBJ.
Eventuell gibt es ja ab XE2 was, wenn die da eh einen neuen Compiler nutzen? :gruebel: Oder nutzt das PreCompile-Script und compilierst dort die C in eine OBJ, bzw. man bindet einen PreCompiler in sein Delphi ein, welcher die PAS/DPR parst, nach einem "eigenen"
Delphi-Quellcode:
(oder sonstwie) sucht, die C-Datei kompiliert und den Befehl durch
{$CLINK xyz.c}
Delphi-Quellcode:
ersetzt, bevor sich der Delphi-Compilier die Datei vornimmt.
{$LINK Temp.obj}
Jupp, und willkommen :hi: |
AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Nee, leider nicht.
Ich hatte vor einer Weile mal einen PreCompiler für's RAD-Studio (2006 oder 2007) gesehn, welcher z.B.
Delphi-Quellcode:
,
_LINE_
Delphi-Quellcode:
und Ähnliches ersetzen konnte.
_FILE_
Ich weiß auch nicht ob/wie man da z.B. über die OTA rankommt. Fand das recht interessant, aber leider finde ich diesen nicht mehr :( Abgesehn von einem für D7, aber dieser läßt sich leider nicht auf neuere Delphi portieren. :cry: |
AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Zitat:
|
AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Zitat:
|
AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Du kannst übrigens nicht jeden C-Compiler nutzen, da Delphi nur Objekt-Dateien welche im OMF Format vorliegen linken kann!
|
AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Zitat:
Zitat:
|
AW: Sinnvolle Methode zum Linken von C/C++ Code in Delphi
Zitat:
Jedenfalls wurde da wohl irgendwie auf ein Ereignis reagiert, welches zum Beginn des Kompilierens ausgelöst wird. Dann wurden die Dateien geparst und virtuell über dieses komische virtuelle Dateisystem in der OTA bearbeitet. Erst danach ging es dann an den Delphi-Compiler. Die Variante von Delphi 7 mußte erstmal alle Dateien speichern lassen, hat dann über einen externen "PreCompiler" die PAS bearbeitet und dieses nach dem Compilieren wieder rückgängig gemacht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz