EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

h2pas-3.0.0 – Online in der Cloud

Führen Sie h2pas-3.0.0 im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl h2pas-3.0.0, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


h2pas – Das Programm zur Konvertierung von C-Header- in Pascal-Einheiten.

ZUSAMMENFASSUNG


h2pas [Optionen] Dateinamen

BESCHREIBUNG


h2pas versucht, eine C-Header-Datei in eine Pascal-Einheit zu konvertieren. es kann mit den meisten C umgehen
Konstrukte, die man in einer C-Header-Datei findet, und versucht, sie in ihre zu übersetzen
Pascal-Gegenstücke. siehe die KONSTRUKTIONEN Abschnitt für eine vollständige Beschreibung dessen, was die
Übersetzer kann damit umgehen.

ANWENDUNG


H2pas ist ein Befehlszeilentool, das eine C-Header-Datei in eine Spascal-Einheit übersetzt. Es liest
die C-Header-Datei und übersetzt die C-Deklarationen in äquivalente Pascal-Deklarationen
kann verwendet werden, um auf in C geschriebenen Code zuzugreifen.

Die Ausgabe des h2pas-Programms wird in eine Datei mit demselben Namen wie der C-Header geschrieben
Datei, die als Eingabe verwendet wurde, jedoch mit der Erweiterung .pp. Die Ausgabedatei, die h2pas
Die Erstellung kann durch viele Optionen auf vielfältige Weise angepasst werden.

OPTIONAL


Die Ausgabe von h2pas kann mit folgenden Optionen gesteuert werden:

-d - extern; für alle Prozedur- und Funktionsdeklarationen.

-D - extern Bibliotheksname Name 'func_name' für Funktions- und Prozedurdeklarationen.

-e Geben Sie eine Reihe von Konstanten anstelle eines Aufzählungstyps für C aus enum konstruieren.

-i Erstellen Sie eine Include-Datei anstelle einer Unit (ohne Unit-Header).

-l Bibliotheksname
Geben Sie den Bibliotheksnamen für externe Funktionsdeklarationen an.

-o Outfile
Geben Sie den Namen der Ausgabedatei an. Standard ist der Name der Eingabedatei mit der Erweiterung
ersetzt durch .pp "."

-p benutze den Buchstaben P vor Zeigertypparametern anstelle von „^“.

-s Entfernen Sie Kommentare aus der Eingabedatei. Standardmäßig werden Kommentare in Kommentare umgewandelt.
Sie können jedoch verschoben werden, da ein Kommentar vom Scanner verarbeitet wird.

-t Stellen Sie typedef-Typnamen den Buchstaben voran T (wird verwendet, um Borlands Konvention zu folgen
dass alle Typen mit T definiert werden sollten).

-v Zeigerparameter durch Aufruf durch Referenzparameter ersetzen. Mit Vorsicht verwenden, weil
Einige Aufrufe können einen NIL-Zeiger erwarten.

-w Die Header-Datei ist eine Win32-Header-Datei (fügt Unterstützung für einige spezielle Makros hinzu).

-x Behandeln Sie SYS_TRAP der PalmOS-Headerdateien.

KONSTRUKTIONEN


Die folgenden C-Deklarationen und -Anweisungen werden erkannt:

definiert
Definitionen werden in Pascal-Konstanten umgewandelt, wenn es sich um einfache Definitionen handelt. Makros sind
geändert - wo immer möglich an Funktionen; Die Argumente sind jedoch alle ganze Zahlen.
Daher müssen diese manuell geändert werden. Einfache Ausdrücke in Definitionsanweisungen sind
anerkannt, wie auch die meisten arithmetischen Operatoren: Addition, Subtraktion,
Multiplikation, Division, logische Operatoren, Vergleichsoperatoren, Verschiebung
Betreiber. Das C-Konstrukt (A ? B : C) wird ebenfalls erkannt und in a übersetzt
pascal-Konstrukt mit einer IF-Anweisung (dies ist allerdings fehlerhaft).

Präprozessor Aussagen
Die bedingten Vorverarbeitungsbefehle werden erkannt und in übersetzt
äquivalente Pascal-Compiler-Anweisungen. Das Sonderangebot #ifdef __cplusplus ist auch
erkannt und entfernt.

typedef
Eine Typedef-Anweisung wird in eine Pascal-Typanweisung umgewandelt. Die folgenden grundlegenden
Typen werden erkannt:

verkohlen in char geändert.

schweben in real geändert (=double in Free Pascal).

int in longint geändert.

lange in longint geändert.

lange int
in longint geändert.

kurz in Ganzzahl geändert.

ohne Vorzeichen
zum Kardinal geändert.

ohne Vorzeichen verkohlen
in Byte geändert.

ohne Vorzeichen int
zum Kardinal geändert.

ohne Vorzeichen lange int
zum Kardinal geändert.

ohne Vorzeichen kurz
in Wort geändert.

ungültig ignoriert.
Diese Typen werden auch geändert, wenn sie in den Argumenten einer Funktion oder Prozedur vorkommen.

Funktionen und Verfahren
Funktionen und Prozeduren werden ebenfalls übersetzt; Zeigertypen können geändert werden
Call-by-Reference-Argumente (unter Verwendung von jung Argument) durch die Verwendung von -p Befehlszeile
Streit. Funktionen, die eine variable Anzahl von Argumenten haben, werden in a geändert
Funktion mit einem Array of const Argument.

Bezeichner
extern Bezeichner wird erkannt; es wird jedoch ignoriert. Die verpackt Bezeichner ist
auch erkannt und verändert mit dem PACKRECORDS Richtlinie. Die const Bezeichner ist
wird ebenfalls erkannt, aber ignoriert.

Modifikatoren
Besitzt das -w Wenn die Option angegeben ist, werden die folgenden Modifikatoren erkannt: STDCALL
, CDECL , Rückruf , PASCAL , WINAPI , APIEINTRITT , WINGDIAPI wie in win32 definiert
Kopfzeilen. Wenn zusätzlich die -x Option wird dann angegeben SYS_TRAP Bezeichner ist
auch erkannt.

Aufzählungen Aufzählungskonstrukte werden in Aufzählungstypen umgewandelt; Bedenken Sie, dass in C
Aufzählungstypen können Werte zugewiesen werden; Free Pascal ermöglicht dies ebenfalls
einen gewissen Grad. Wenn Sie wissen, dass Aufzählungen Werte zugewiesen werden, verwenden Sie diese am besten
-e Option zum Ändern des Enus in eine Reihe ganzzahliger Konstanten.

Gewerkschaften Gewerkschaften werden in Variantendatensätze geändert.

Strukturen
werden in Pascal-Records geändert, mit C Verpackung.

Verwenden Sie h2pas-3.0.0 online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad