BCC32.EXE: Der C++-32-Bit-Befehlszeilen-Compiler

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Befehlszeilenoberflächen von C++-Compilern


BCC32.EXE ist die Befehlszeilenoberfläche von BCC32, der C++-Compiler für 32-Bit-Windows.

Befehlszeilensyntax

bcc32 [<option>] <filename> [<filename>...]

Der Name des Befehlszeilen-Compilers, alle Optionen und Dateinamen müssen voneinander durch Leerzeichen getrennt sein. Stellen Sie jeder Option entweder einen Bindestrich (-) oder einen Schrägstrich (/) voran. Zum Beispiel:

BCC32 -Ic:\code\hfiles

Sie können auch Optionen in Konfigurationsdateien (.CFG) festlegen, die im Abschnitt Compiler-Konfigurationsdateien (.CFG-Dateien) beschrieben werden.

Mit BCC32 können Sie .OBJ-Dateien an ILINK32 oder .ASM-Dateien an TASM32 (wenn TASM32 auf Ihrem System installiert ist) senden.

Anzeigen der Befehlszeilen-Hilfe für ausführliche Informationen

Um die Hilfe für die BCC32.exe-Befehlszeile im Befehlsfenster anzuzeigen, geben Sie die Befehlszeilenoption -h an.

Um beispielsweise eine Liste der gebräuchlichsten Befehlszeilenoptionen anzuzeigen, geben Sie in der Befehlszeile Folgendes ein:

BCC32 -h

In der angezeigten Liste gibt das * die Optionen an, die standardmäßig aktiviert sind:

Anzeigen der Hilfe für bestimmte Optionsgruppen, wie -Axxx und -Vxxx

Sie können detaillierte Informationen zu mehrbuchstabigen Optionen, wie -Axxx (Sprachkompatibilität und Standardkomplianz) und -Vxxx Abwärtskompatibilität) anzeigen.

Verwenden Sie dazu die Befehlszeilenoption -h mit dem Anfangsbuchstaben der Optionsgruppe (z.B. -A für die -Axxx-Optionen). BCC32 zeigt nur die Hilfethemen für die angegebene Optionsgruppe an (z.B. für -Axxx, -Vxxx oder -Wxxx).

Um beispielsweise eine Beschreibung für die Optionen -Axxx (Sprachkompatibilität und Standardkomplianz) anzuzeigen, geben Sie die Befehlszeilenoptionen -h und -A ein:

C:\>bcc32 -h -A

Voreinstellungen

BCC32.EXE verfügt über Optionen, die als Voreinstellung gesetzt sind. Zum Deaktivieren einer voreingestellten Option oder zum Überschreiben von Optionen in einer Konfigurationsdatei, stellen Sie der Option ein Minuszeichen (-) nach.

Dateien mit der Erweiterung .CPP werden als C++-Dateien compiliert. Dateien mit der Erweiterung .C, ohne Erweiterung oder mit anderen Erweiterungen als .CPP, .OBJ, .LIB oder .ASM werden als C-Dateien compiliert.

Der Compiler versucht, mit einer Moduldefinitionsdatei mit demselben Namen wie die .EXE-Datei und der Erweiterung .DEF zu linken.

Allgemeine Compiler-Ausgabeoptionen

Option Beschreibung Details

-c

Compiliert in .OBJ, kein Linken.

Compiliert und stellt die benannten C-, .CPP- und .ASM-Dateien zusammen, führt aber mit den resultierenden .OBJ-Dateien kein Linken durch.

-e <filename>

Geben Sie den Namen der ausführbaren Datei an.

Linkt die Datei und verwendet <filename> als Namen für die ausführbare Datei. Wird mit dieser Option kein Name für eine ausführbare Datei angegeben, erstellt der Linker eine ausführbare Datei auf der Basis des Namens der ersten Quelldatei oder Objektdatei, die im Befehl aufgelistet ist.

-l <x>

Übergibt Optionen an den Linker.

Verwenden Sie diese Befehlszeilenoption, um <x>-Optionen von einem Compiler-Befehl an den Linker zu übergeben. Verwenden Sie die Befehlszeilenoption -l-x, um eine bestimmte Linker-Option zu deaktivieren.

-M

Erstellt eine MAP-Datei.

Verwenden Sie diese Compiler-Option, um den Linker anzuweisen, eine MAP-Datei zu erstellen. Siehe Datei "Detaillierte Segmentzuordnung".

-o <filename>

Compile .OBJ in <filename>.

Compiliert die angegebene Quelldatei in <filename>.OBJ.

-P

C++-Compilierung

Veranlasst den Compiler, alle Quelltextdateien als C++-Dateien, unabhängig von ihrer Dateinamenserweiterung, zu compilieren. Verwenden Sie -P-, um alle .CPP-Dateien als C++-Quelltextdateien und alle anderen Dateien als C-Quelltextdateien zu compilieren. Die Befehlszeilenoption -P veranlasst den Compiler, alle Quelltextdateien als C++-Dateien zu compilieren. Diese Option ermöglicht es Programmierern, andere Erweiterungen für C++-Code als die Standarderweiterung zu verwenden.

-tM

Erzeugt ein Multithread-Ziel.

Erzeugt eine Multithread-.EXE- oder -.DLL-Datei. Diese Option ist nicht erforderlich, wenn Sie eine Moduldefinitionsdatei (.DEF-Datei) in Ihre Compiler- und Linker-Befehle einfügen, die die Art der 32-Bit-Anwendung angeben, die Sie erstellen möchten.

-tR

Ziel verwendet die dynamische RTL.

Erstellt eine Anwendung, die die dynamische RTL verwendet.

-tV

Ziel verwendet das VCL-GUI-Framework.

     -tD

Ziel ist eine gemeinsam genutzte Bibliothek.

     -tP

Erzeugt ein Package.

Hinweis: Verwenden Sie nicht die Option -t aus der IDE.

Prioritätsregeln bei Compiler-Optionen

Die Befehlszeilen-Compiler werten Optionen von links nach rechts aus und folgen diesen Regeln:

  • Wenn Sie eine Option mit Ausnahme von -D, -I, -L oder -U mehrfach eingeben, überschreibt die zuletzt eingegebene Option die zuvor eingegebenen.
  • Optionen, die in der Befehlszeile eingegeben werden, überschreiben die Optionen in Konfigurations- und Response-Dateien (außer die Optionen -D, -I, -L und -U, die kumulativ sind).

Verzeichnisse für Befehlszeilenoptionen

Der C++-Compiler kann mehrere Verzeichnisse nach Include- und Bibliotheksdateien durchsuchen. Das bedeutet, dass die Syntax für die Befehlszeilenoptionen der Bibliotheksverzeichnisse (-L) und der Include-Verzeichnisse (-l) mehrfaches Aufführen einer gegebenen Option zulässt (vgl. Syntax der #define-Option (-D)). Die Syntax für diese Optionen lautet:

-L <dirname> [<dirname>;...]
-I <dirname> [<dirname>;...]

Der Parameter <dirname&gt zusammen mit -L und -I kann jedes beliebige Verzeichnis oder jeder beliebige Verzeichnispfad sein. Sie können mehrere Verzeichnisse in der Befehlszeile auf folgende Arten eingeben:

  • Sie können mehrere Einträge mit einer einzigen Option -L oder -I zusammenfassen, wenn Sie ein Semikolon verwenden:
BCC32.EXE -L dirname1;dirname2;dirname3 -I include1;include2;include3 myfile.c
  • Sie können jede Option mehrfach in der Befehlszeile verwenden:
BCC32.EXE -L dirname1 -L dirname2 -L dirname3 -I include1 -I include2 -I include3 myfile.c
  • Sie können Mischformen verwenden:
BCC32.EXE -L dirname1;dirname2 -Ldirname3 -I include1;include2 -I include3 myfile.c

Wenn Sie die Optionen -L oder -I in der Befehlszeile mehrfach angeben, ist das Ergebnis kumulativ. Der Compiler durchsucht alle aufgeführten Verzeichnisse in der Reihenfolge von links nach rechts.

Compiler-Konfigurationsdateien (.CFG)

Wenn Sie bestimmte Optionen wiederholt verwenden, können Sie diese in einer Konfigurationsdatei zusammenfassen. Sie brauchen sie dann nicht immer wieder in die Befehlszeile einzugeben. Eine Konfigurationsdatei ist eine gewöhnliche ASCII-Textdatei, die eine oder mehrere Befehlszeilenoptionen enthält. Die einzelnen Optionen müssen durch Zeilenschaltung oder Leerzeichen getrennt sein.

Bei jedem Compilierungsbefehl sucht BCC32.EXE nach einer Konfigurationsdatei mit dem Namen BCC32.CFG. Der Compiler sucht die .CFG-Dateien zunächst in dem Verzeichnis, in dem Sie den Compilierungsbefehl eingegeben haben, und anschließend in dem Verzeichnis, in dem sich der Compiler befindet.

In Ergänzung zu der üblichen .CFG-Datei können weitere Konfigurationsdateien erstellt und verwendet werden.

Um eine Konfigurationsdatei anzugeben, verwenden Sie folgende Syntax an der Stelle, an der Sie sonst die Compiler-Optionen angeben würden:

+[path]filename

Um z.B. eine Konfigurationsdatei mit dem Namen MYCONFIG.CFG zu verwenden, können Sie folgende Befehlszeile eingeben:

BCC32 +C:\MYPROJ\MYCONFIG.CFG mycode.cpp

Optionen, die in der Befehlszeile eingegeben werden, überschreiben die Einstellungen (außer die Optionen ‑D, ‑I, ‑L und ‑U), die in Konfigurationsdateien gespeichert sind.

Response-Dateien

In Response-Dateien können Sie sowohl Compiler-Optionen als auch Dateinamen in einer einzigen Datei aufführen (im Gegensatz zu Konfigurationsdateien, die nur Compiler-Optionen akzeptieren). Eine Response-Datei ist eine gewöhnliche ASCII-Textdatei, die eine oder mehrere Befehlszeilenoptionen, Dateinamen oder beides enthält; alle Einträge in der Datei sind voneinander durch Leerzeichen oder Zeilenschaltung getrennt. Response-Dateien vereinfachen Ihre Compilierungsbefehle; außerdem erlauben sie die Verwendung einer längeren Befehlszeile als dies in den meisten Betriebssystemen zulässig ist.

Die Syntax für die Verwendung einer einzelnen Response-Datei lautet:

BCC32 @[path]respfile.txt

Die Syntax für die Verwendung mehrerer Response-Dateien lautet:

BCC32 @[path]respfile.txt @[path]otheresp.txt

Response-Dateien haben die Dateinamenserweiterung .REP.

Optionen, die in der Befehlszeile eingegeben werden, überschreiben die Optionen (außer die Optionen ‑D, ‑I, ‑L und ‑U) oder Dateinamen in einer Response-Datei.

Themen

Siehe auch