Bob Swart ( ) hat ein Dienstprogramm, das viele Header-Dateien konvertieren wird ) namens HeaderConvert . Ich habe es noch nie mit dem Tool @RRUZ Links verglichen, aber es ist eine andere Option.
Projekt JEDI hat auch eines; Ich habe es nie getestet. Sie können es hier finden.
Im Allgemeinen vollautomatisches Übersetzen von C-Headern in etwas anderes (das ist keine effektive Obermenge der benötigten C-Funktionalität) ist schwer bis unmöglich .
>Das liegt daran, dass man aufgrund von Makros nicht sehen kann, wie man sie übersetzt. Makros erhalten ihre Bedeutung oft nur aus dem Kontext. Beispiel
%Vor%aber auch (und das ist häufiger):
%Vor%SCARYAPIMACRO ist dann oft ein Makro, das OS definiert, um die richtige Aufrufkonvention für die richtige OS / Architektur auszuwählen.
Das heißt aber nicht, dass die Werkzeuge keine echten Zeitverschalungen sind. Aber das Ergebnis ist mehr halbautomatisch, ich habe die meisten und besten Erfahrungen mit H2Pas.
Ich habe viele Windows-Header übersetzt (einschließlich FPCs commctrl, die alle paar Zeilen ein sendmessage-Makro haben).
Was ich normalerweise mache, ist ein kleines Pascal-Programm, das die Quelle linienbasiert scannt und Heuristiken benutzt, um sie in Teile zu zerlegen, die größtenteils homogen sind (alle Strukturen oder Konstanten, Makros, Prozedurdeklarationen usw.). Dann schaue ich mir die Quelle an und mache oft globale Ersatzstoffe.
Nur dann führe ich es durch den Übersetzer, der Prozess ist oft iterativ (verfeinere die Trennung, führe globale Ersetzungen durch, versuche zu übersetzen, wenn es fehlschlägt, versuche es erneut usw.).
Der Prozess erfordert leider ein gutes Verständnis von C, Pragma Zeug enthalten.
Tags und Links delphi hdf5 freepascal pascal