C++-Compiler
Nach oben zu Erzeugen
Projekt > Optionen > Erzeugen > C++-Compiler
Verwenden Sie dieses Dialogfeld zum Festlegen von Optionen für die C++-Compiler.
Inhaltsverzeichnis
Optionen | Beschreibung |
---|---|
Ziel, Übernehmen, Speichern |
Siehe Optionen für das Ziel. |
Gemeinsame Elemente |
C++-Compilierung
Klassischer Compiler
Optionen des klassischen Compilers | Beschreibung | Compiler-Optionen | |||
---|---|---|---|---|---|
bcc32 | bcc32c | bcc64 | bccx64 | ||
'Klassischen' Borland-Compiler verwenden |
Aktiviert entweder den klassischen BCC32-Compiler oder den durch Clang-erweiterten BCC32C-Compiler als C++-Compiler für 32-Bit-Windows-Plattformen. Verwenden Sie diese Option, um von BCC32 zu BCC32C und umgekehrt zu wechseln. Sie können diese Option auf die folgenden Werte setzen:
Vorgabe = |
Plattform nicht unterstützt |
Plattform nicht unterstützt |
Allgemeine Compilierung
Allgemeine Compilierung | Beschreibung | Compiler-Optionen | |||
---|---|---|---|---|---|
bcc32 | bcc32c | bcc64 | bccx64 | ||
Aufrufkonvention |
Pascal |
-p |
Plattform nicht unterstützt |
Plattform nicht unterstützt |
Plattform nicht unterstützt |
C (-pc)* |
-pc | -mcdecl | -mcdecl | -mcdecl | |
_msfastcall (-pm) |
-pm | Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | |
Fastcall (register) (-pr) Mit den Schlüsselwörtern __pascal, __cdecl oder __stdcall kann eine Funktion oder Unterroutine explizit mit einer anderen Aufrufkonvention deklariert werden. |
-pr | -mfastcall | -mfastcall | -mfastcall | |
stdcall (-ps) Mit den Schlüsselwörtern __cdecl, __pascal oder __fastcall kann eine Funktion oder Unterroutine explizit mit einer anderen Aufrufkonvention deklariert werden. Vorgabe = C (-pc) |
-ps | -mrtd, -mstdcall | -mrtd, -mstdcall | -mrtd, -mstdcall | |
Datenausrichtung |
Byte |
-a1 |
-fpack-struct=1 |
N/A | N/A |
Word (-a2) |
-a2 | -fpack-struct=2 | N/A | N/A | |
Double Word (-a4) |
-a4 | -fpack-struct=4 | N/A | N/A | |
Quad Word (-a8)* |
-a8 | -fpack-struct=8 | N/A | N/A | |
Paragraph (-a16) Vorgabe = Quad Word (8) |
-a16 | -fpack-struct=16 | N/A | N/A | |
C++-Zugriffskontrolle deaktivieren |
Weist den Compiler an, keine Zugriffskontrolle zu erzwingen. Das heißt, dass der Compiler keinen Fehler ausgibt, wenn auf ein protected oder private Member zugriffen wird, der nicht für den Zugriff vorgesehen ist. Verwenden Sie diese Option für Code, der für BCC32 zulässig ist, aber von BCC64 als Verstoß gegen die Zugriffskontrolle behandelt wird (besser wäre es allerdings, den Code zu aktualisieren, damit er mit den BCC64-Regeln übereinstimmt). Vorgabe = |
Plattform nicht unterstützt |
N/V |
-fno-access-control |
-fno-access-control |
Stapel-Compilierung aktivieren |
Aktiviert die Stapel-Compilierung. Wenn diese Option aktiviert ist, werden alle Quellmodule (anstatt jedes Modul einzeln) in derselben Befehlszeile an den C++-Compiler übergeben. Bei der Stapel-Compilierung werden Build-Ereignisse für die gesamte Compilierung und nicht für einzelne Dateien erzeugt. Eine Stapel-Compilierung verwendet einen Satz von Projektoptionen. Das Überschreiben dieser Optionen auf Dateiebene ist nicht zulässig. Wenn Sie einen durch Clang erweiterten C++-Compiler verwenden, können Sie mit "Stapel-Compilierung aktivieren" in Kombination mit "C++-Compiler in separatem Prozess ausführen" die parallele Compilierung aktivieren. Durch Clang erweiterte Compiler für 32-Bit-Plattformen halten die Stapel-Compilierung nach dem Fehlschlagen der Compilierung einer Datei an. Vorgabe = | ||||
Maximale Fehleranzahl (-j) Bricht die Compilierung ab, sobald eine bestimmte Anzahl von Fehlern erkannt wurde. Werte von 0 bis 255 sind möglich. Vorgabe = Die Eingabe von 0 bewirkt, dass die Compilierung fortgesetzt wird, bis entweder das Ende der Datei oder die maximale Warnungsanzahl erreicht ist, je nachdem, welcher Fall zuerst eintritt. |
-j
|
-ferror-limit
|
N/A | N/A | |
Maximale Warnungsanzahl (-g) Bricht die Compilierung ab, sobald eine bestimmte Anzahl von Warnungen erkannt wurde. Werte von 0 bis 255 sind möglich. Vorgabe = Die Eingabe von 0 bewirkt, dass die Compilierung fortgesetzt wird, bis entweder das Ende der Datei oder die maximale Fehleranzahl erreicht ist, je nachdem, welcher Fall zuerst eintritt. |
-g
|
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | |
Beim ersten Fehler anhalten (-jb) Bricht die Stapel-Compilierung nach der ersten Datei ab, die Fehler verursacht. Zum Beispiel:
Ohne das Flag -jb kann die Stapel-Compilierung bis zur nächsten vorgesehenen Datei fortgeführt werden, auch wenn eine vorherige Datei einen Fehler verursacht hat. |
-jb
|
Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | |
Erweiterte Fehlerinfos |
Der Compiler erzeugt bei Fehlern umfassendere Informationen. Vorgabe = |
-Q |
Plattform nicht unterstützt |
Plattform nicht unterstützt |
Plattform nicht unterstützt |
C++-Compilierung erzwingen |
Veranlasst den Compiler, alle Quelltextdateien als C++-Dateien, unabhängig von ihrer Dateinamenserweiterung, zu compilieren. Vorgabe = |
-P |
-x c++ |
-x c++ |
-x c++ |
Anweisungs-Set |
80386 |
-3
|
Plattform nicht unterstützt |
Plattform nicht unterstützt |
Plattform nicht unterstützt |
80486 (-4) |
-4 | Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | |
Pentium (-5) |
-5 | Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | |
Pentium Pro (-6) Vorgabe = |
-6 | Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | |
Enums mit Integergröße |
Weist Aufzählungstypen (Variablen des Typs enum) ein ganzes Wort (ein 4-Byte-Int bei 32-Bit-Programmen) zu. Ist die Option nicht aktiviert (-bi-), weist der Compiler den kleinsten Integertyp zu, der die Aufzählungswerte aufnehmen kann: Der Compiler weist unsigned oder signed char zu, wenn die Werte der Aufzählung im Bereich zwischen 0 und 255 (Minimum) oder zwischen -128 und 127 (Maximum) liegen, oder unsigned oder signed short, wenn sich die Werte der Aufzählung in einem der folgenden Bereiche befinden: 0..65535 oder -32768..32767. Der Compiler weist den Aufzählungswerten ein 4-Byte-Int (32 Bit) zu, wenn ein Wert außerhalb dieser Bereiche liegt. Vorgabe = |
-bi |
-fshort-enums |
N/A |
N/A |
Enums als Integer |
Aktiviert Enums mit Integergröße (-bi, weiter oben beschrieben) und behandelt Enums aus der Sicht der Typprüfung als Integer (schränkt die Typprüfung ein). Vorgabe = |
-b |
-fshort-enums |
N/V |
N/A |
Sprachkonvention |
ANSI Verwendet ANSI-Schlüsselwörter und -Erweiterungen. Compiliert C- und C++-ANSI-kompatiblen Quelltext. Dies sorgt für eine verbesserte Portabilität. Nicht-ANSI-Schlüsselwörter werden als Schlüsselwörter ignoriert. |
-A |
-fno-borland-extensions |
N/A | N/A |
GNU (-AG)Verwendet Schlüsselwörter und Erweiterungen von Gcc (GNU Compiler Collection). Gcc wird von der Free Software Foundation unter http://gcc.gnu.org/ vertrieben. Weist den Compiler an, bestimmte GNU-Schlüsselwörter und -Erweiterungen, wie __attribute__, __const, __inline__, __signed__, zu erkennen. Siehe GNU-Attribute. |
-AG | Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | |
K & R (-AK) Verwendet Schlüsselwörter und Erweiterungen von Kernighan und Ritchie (K&R). Weist den Compiler an, nur die von Kernighan und Ritchie definierten Erweiterungsschlüsselwörter zu erkennen. Alle C++-Erweiterungsschlüsselwörter werden als normale Bezeichner interpretiert. |
-AK | Plattform nicht unterstützt | N/A | N/A | |
Borland/CodeGear (auch -A-) (-AT)* Verwendet C++-Schlüsselwörter und -Erweiterungen von Borland/CodeGear/Embarcadero. Weist den Compiler an, Erweiterungen für C-Schlüsselwörter zu erkennen, einschließlich near, far, huge, asm, cdecl, pascal, interrupt, _export, _ds, _cs, _ss, _es und die Register-Pseudovariablen (_AX, _BX usw.). Das ist die Standardvorgabe. |
-AT | -fborland-extensions | Plattform nicht unterstützt | Plattform nicht unterstützt | |
Unix System V (-AU) Verwendet Schlüsselwörter und Erweiterungen von UNIX-System V. Weist den Compiler an, nur die UNIX V-Schlüsselwörter zu erkennen. Alle C++-Erweiterungsschlüsselwörter von Borland/CodeGear/Embarcadero werden als normale Bezeichner interpretiert.
Vorgabe = |
-AU | Plattform nicht unterstützt | N/A | N/A | |
Registervariablen |
Ohne |
-r- | Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt |
Explizit (-rd) |
-rd | Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | |
Immer (-r) Vorgabe = Ohne |
-r | Plattform nicht unterstützt | Plattform nicht unterstützt | Plattform nicht unterstützt | |
Maximale Anzahl der auszugebenden Fehler bis Abbruch festlegen (0 = keine Beschränkung) |
Um die Anzahl der für den 64-Bit-C++-Compiler zulässigen Fehler festzulegen, wählen Sie in diesem Feld die Zahl aus und geben die gewünschte Anzahl ein. Vorgabe = 1 |
Plattform nicht unterstützt |
N/V |
-ferror-limit |
-ferror-limit |
Short enums |
Weist den 64-Bit-Compiler an, Aufzählungen in Minimalgröße zu verwenden. Weist einem Enum-Typ nur so viele Bytes zu, wie für den deklarierten Bereich der möglichen Werte erforderlich sind. Vorgabe = |
Option "Enums mit Integergröße" |
Option "Enums mit Integergröße" |
-fshort-enums |
-fshort-enums |
Standard-Stack-Frames |
Erzeugt einen Standard-Stack-Frame (Standardcode für Einritt und Austritt in die/aus der Funktion). Dies ist bei der Fehlersuche hilfreich, da sich der Stack der aufgerufenen Unterroutinen einfacher durchlaufen lässt. Wenn diese Option deaktiviert ist, werden alle Funktionen, die keine lokalen Variablen verwenden und keine Parameter besitzen, mit verkürztem Eintritts- und Rückgabecode compiliert. Damit wird der Code kleiner und schneller. Wenn eine Quelltextdatei zu Debugging-Zwecken compiliert wird, sollte diese Option immer aktiviert sein. Vorgabe = |
-k |
Plattform nicht unterstützt |
Plattform nicht unterstützt |
Plattform nicht unterstützt |
Untergeordnete Seiten
- Erweitert
- Kompatibilität
- Debuggen
- Verzeichnisse und Bedingungen
- LSP
- Optimierungen
- Ausgabe
- Vorcompilierte Header
- Warnungen