Beste Mittel zur Umwandlung von C / C ++ DLL-Header zu Delphi?
Frage
Eine ziemlich umfassende Website erklärt die Schwierigkeiten und bei der Verwendung einer DLL in c / c geschrieben beteiligt Lösungen ++ und die Umwandlung der .h Header-Datei zu delphi / pascal wurde in eine Mailingliste gepostet ich vor kurzem war, so dass ich dachte, dass ich Würd es zu teilen, und andere dazu einladen, andere nützliche Ressourcen für diese zu schreiben, ob sie Verbindungen sein, Konvertierungs-Tools, oder ein Buch / Papier-Titel.
Eine Ressource pro Antwort bitte, so dass wir mit den beliebtesten / besten Ressourcen sprudeln an die Spitze enden.
Lösung
Über unter Rudys Delphi Corner , er hat eine ausgezeichnete Artikel über die Tücke C / C ++ zu Delphi umzuwandeln. Meiner Meinung nach sind diese wichtigen Informationen, wenn diese Aufgabe versuchen. Hier ist die Beschreibung:
Dieser Artikel ist für alle gedacht, die muss C / C ++ Header übersetzen Delphi. Ich möchte einige der teilen Gefahren können auftreten, wenn Umwandlung von C oder C ++. Dieser Beitrag ist kein Tutorial, nur eine Diskussion von häufig auftretendes Problem Fälle. Es ist für den Anfänger gedacht als auch für die erfahreneren Übersetzer von C und C ++.
Er schrieb auch ein " Conversion Helper Paket ", die in die Delphi IDE installiert, die hilft C / C ++ Code zu Delphi bei der Umwandlung:
(Quelle: rvelthuis.de )
Seine andere relevanten Artikel zu diesem Thema sind:
Andere Tipps
Artikel bei Rudys Delphi Corner
Auch CodeGear beherbergt ein rudimentäres Übersetzungs-Tool namens CToPas (geschrieben von Ural Gunaydin).
Ich möchte die Jedi Api Bibliothek markieren, es ist die Delphi-Übersetzung von die Windows SDK-Header. Vielleicht haben Sie eine Menge Arbeit sparen, wenn Sie Header aus dem SDK übersetzen müssen und ist eine gute Probe der Conversions natürlich!
Da Freepascal bei Delphi compatibiltiy unter anderem ausgerichtet ist, denke ich, H2Pas auch hilfreich sein kann.
HeadConv von DrBob verwendet wird, ziemlich viel zu, obwohl ich mit Graza einig, dass eine manuelle Übersetzung am besten ist.
Verwenden Sie diese Option, um die Byte-Ausrichtung das gleiche wie C / C ++ und dann brauchen Sie nicht Paddingbytes in structs hinzuzufügen.
{$ MINENUMSIZE 4}