SYNOPSIS
cc]]Dateien…
cxx]Dateien…
DESCRIPTION
Die Befehle cc und cxx dienen als Schnittstellen zum Microsoft C Compiler (cl).Unterstützt werden die Versionen 5.0 und höher dieses Compilers.cc dient zum Kompilieren von C-Dateien, während cxxis zum Kompilieren von C++-Dateien dient.
Hinweis:
Das Verhalten von cc hängt davon ab, ob Sie in der Standard-MKS-Toolkit-Entwicklungsumgebung oder in der Entwicklungsumgebung arbeiten, die für die Verwendung mit den MKS-Toolkit-UNIX-APIs vorgesehen ist.
cxx ist nur in der PTC MKS Toolkit UNIX APIs Entwicklungsumgebung verfügbar.
Diese Befehle sind nur Wrapper, die das cl-Dienstprogramm aufrufen.Wenn Sie PTC MKS Toolkit for Professional Developers oder PTC MKS Toolkit for Developers verwenden, wird das Vorhandensein von clin PATH während der Installation überprüft.Bei anderen Toolkit-Produkten müssen Sie selbst dafür sorgen, dass clis im PATH vorhanden ist.
Dateien mit der Endung .c werden als C-Quelldateien, Dateien mit der Endung .cpp oder .cxx als C++-Quelldateien und Dateien mit der Endung .asm als Assembler-Quelldateien angesehen.Das Vorhandensein von Quelldateien mit .cpp oder .cxx führt automatisch dazu, dass die Quelldateien so kompiliert werden, als ob stattdessen dercxx -Befehl aufgerufen worden wäre.
Die cc- und cxx -Befehle setzen implizit die folgenden Microsoft-Compiler-Schalter (nur für Intel-Plattformen):
/D_X86_/D_NUTC_=0x430 (Value changes with each release)/Zl/Qifdiv-
Hinweis:
Die Option /D_NUTC_=0x430 wird nur gesetzt, wenn in der PTC MKS Toolkit UNIX APIs Entwicklungsumgebung gearbeitet wird.
Die Option /Qifdiv- wird nur gesetzt, wenn Sie in der PTC MKS Toolkit UNIX APIs Entwicklungsumgebung arbeiten und ist nur für Microsoft Visual Studio 2.1 oder höher verfügbar.
Sie können die Option -W/optionflag verwenden, um Optionen direkt an cl zu übergeben.Achten Sie dabei darauf, dass Sie nicht mit den Optionen in Konflikt geraten, die dieser Befehl setzt. Zum Beispiel ist die Standardwarnstufe des Compilers auf/W3 eingestellt. Die Option -W/Wn kann verwendet werden, um diese Vorgabe zu überschreiben.cl-Optionen, die mit -W angegeben werden, überschreiben cl-Optionen, die von anderen cc- odercxx-Optionen erzeugt werden.
Optionen
-c
kompiliert nur – linkt nicht.
Diese Option wird zur /c-Option von cl.
-C
gibt Kommentare an die Präprozessorausgabe weiter.
Diese Option wird zur /C-Option von cl.
-Dname
definiert ein Präprozessorsymbol mit einem optionalen Wert.
Diese Option wird zur /Dname=Wert-Option von cl.
-E
Sendet alle Präprozessorausgaben auf die Standardausgabe.
Diese Option wird zur /E-Option von cl.
-e epsym
setzt den Einstiegspunkt (wird an den Linker weitergegeben).
-ffloat
gibt die Fließkommaoptionen an, die der Compiler und Linker verwenden:
-f- no floating point required-f emulated floating point-fp hardware floating point (using 80x87 coprocessor)
Hinweis:
Diese Option ist veraltet und erzeugt eine Warnung. Sie wird aus Gründen der Abwärtskompatibilität zur Verfügung gestellt und ist mit cxxor nicht verfügbar, wenn Sie in der PTC MKS Toolkit UNIX APIs Entwicklungsumgebung arbeiten.
-g
Erzeugt Debugging-Informationen in den kompilierten Objektmodulen.
Diese Option wird zur Option /Z7 für cl.
-I directory
Erweitert die Liste der Verzeichnisse, die nach Include-Dateien durchsucht werden sollen, um das Verzeichnis (den Wert der Umgebungsvariablen %Include%). Alle Verzeichnisse, die auf der Befehlszeile angegeben werden, werden zuerst durchsucht, in der Reihenfolge, in der sie auf der Befehlszeile erscheinen.
Diese Option wird zur /I-Verzeichnis-Option von cl.
-l library
wenn es sich um eine Verknüpfung handelt, fügt die angegebene Bibliothek der Liste der zu durchsuchenden Bibliotheken hinzu.
Bei der Suche nach Bibliotheken (z.B. mit -lfoo) wird jedes Bibliotheksverzeichnis zuerst nach dem Archivnamen im UNIX-Stil durchsucht (d.h. libfoo.a) und dann nach dem Bibliotheksnamen im Windows-Stil (also foo.lib) durchsucht.
Diese Option wird an den Linker weitergegeben.
-L directory
wenn gelinkt wird, wird das Verzeichnis an den Anfang der Liste der Verzeichnisse gesetzt, in denen der Linker nach Bibliotheken sucht (der Wert der Umgebungsvariablen %Lib%). Alle Verzeichnisse, die auf der Kommandozeile angegeben werden, werden zuerst durchsucht, in der Reihenfolge, in der sie auf der Kommandozeile erscheinen.
Diese Option wird an den Linker weitergegeben.
-m
Erzeugt eine Link-Map.
Diese Option wird an den Linker weitergegeben.
-mmodel
gibt das Speichermodell an, das der Compiler und der Linker verwenden.
-ms small model-mm medium model-ml large model-mf flat model (32-bit)-mc compact model-mh huge model
Hinweis:
Diese Option ist veraltet und erzeugt eine Warnung. Sie wird aus Gründen der Abwärtskompatibilität zur Verfügung gestellt und ist mit cxxor nicht verfügbar, wenn man in der PTC MKS Toolkit UNIX APIs Entwicklungsumgebung arbeitet.
-M
informiert über mehrfach definierte Symbole.
Hinweis:
Dieses Verhalten ist nur verfügbar, wenn man in der PTC MKS Toolkit UNIX APIs Entwicklungsumgebung arbeitet. Ansonsten ist -M identisch mit der Option -m.
-o output
gibt den Namen der vom Linker erzeugten Ausgabedatei an. Wenn sowohl -c als auch -o angegeben sind, wird die Option -o ignoriert; Sie können jedoch einen Namen für die mit -W/Foobj_file erzeugte Objektdatei angeben.
Hinweis:
Wenn Sie in der PTC MKS Toolkit UNIX APIs Entwicklungsumgebung arbeiten, wird die Option -o nicht ignoriert. Stattdessen verhält sie sich wie -W/Foobj_file und gibt den Namen der erzeugten Objektdatei an.
Dateinamen, die mit der Option -W/Fo angegeben werden, sollten eine .o- oder .obj-Erweiterung haben. Wenn der Dateiname keine solche Erweiterung hat, wird seine aktuelle Erweiterung durch .obj ersetzt, bevor der Linker aufgerufen wird. Wenn jedoch auch -c angegeben ist, gibt es keine Einschränkungen für die Erweiterung der angegebenen Datei.
-O
weist den Compiler an, optimierten Code zu erzeugen.
Diese Option wird zur /Ox-Option von cl.
-P
speichert die Präprozessorausgabe in einer Datei, wobei der Dateiname durch Ersetzen der .c(oder .cpp)-Erweiterung durch .i erhalten wird.
-s
entfernt beim Linken Debugging-Informationen aus der Ausgabedatei.
Diese Option wird an den Linker weitergegeben.
-S
erzeugt ein Assemblercode-Listing. Das Suffix für die Listing-Datei ist .asm. Dieses Listing enthält Quell- und Assemblercode.
Diese Option wird zur /FAs-Option für cl.
-static
fordert das Linken gegen die statischen C++-Laufzeitbibliotheken.Dies wird nicht empfohlen.
Wenn diese Option nicht angegeben wird, ist /MD tocl der Standard für C++ und es werden multithreaded DLLs erzeugt.
-u symname
Fügt beim Linken eine undefinierte Referenz zu symname hinzu.
Diese Option wird an den Linker weitergegeben.
-U symname
definiert das angegebene Präprozessorsymbol.
Diese Option wird zur /UsymnameOption für cl.
-VS num
gibt die Linkeroption /VERSION weiter.
-Wc++
erzwingt das Linken in C++.
Diese Option wird an den Linker weitergegeben.
Hinweis:
Die C++ Bibliothekspfade sind nur verfügbar, wenn Sie in der Entwicklungsumgebung für die PTC MKS Toolkit UNIX APIs arbeiten. Wenn Sie nicht in dieser Umgebung arbeiten, müssen Sie diese Bibliothekspfade mit der Option -L angeben.
-Wv
wählt den ausführlichen Modus.
Diese Option wird an den Linker weitergegeben.
-W/option
gibt eine Option an, die entweder an den C-Compiler oder an den Linker übergeben werden soll, wobei das führende -W entfernt wird.
Die Optionen – subsystem, def,base, entry, implib,machine, map, out,stack und dll – werden an den Linker übergeben; alle anderen werden an den Compiler übergeben. -x
entfernt beim Linken Debugging-Informationen zu lokalen Symbolen aus der Ausgabedatei.
Diese Option wird an den Linker weitergegeben.
-Xc
kompiliert mit strikter ANSI C-Konformität.Nur Symbole, die in der ANSI C-Spezifikation angegeben sind, sind während der Kompilierung sichtbar.
Diese Option wird zu den Optionen /D__STRICT_ANSI=1 und D__STDC__=1 für cl.
-Xa -Xs -Xt
kompiliert mit nicht-strikter ANSI C-Konformität. Nur die von derANSI C-Spezifikation angegebenen Symbole sind während der Kompilierung sichtbar.
Diese Option wird zu /D__STDC__=0 tocl.
Während diese Referenzseite cc als eine Schnittstelle zum Microsoft C-Compiler beschreibt, ist das nicht die ganze Wahrheit. In Wahrheit ist cc eine konfigurierbare Schnittstelle zu jedem C-Compiler und für die Verwendung mit make konzipiert. Theoretisch können Sie cc einfach auf jedem System neu definieren, um mit dem C-Compiler dieses Systems zu arbeiten, und indem Sie cc einfach in Ihren Makefiles verwenden, können Sie dieselben Makefiles auf verschiedenen Systemen verwenden.
cc verwendet eine Kompilierungskonfigurationsdatei, um Argumente auf einer Standard-Befehlszeile in die Argumente für den Befehl oder die Befehlsfolge umzuwandeln, die für den Aufruf Ihres Compilers oder Linkers erforderlich sind. Wenn Sie Ihren Compiler oder Linker ändern wollen, ändern Sie die entsprechende Konfigurationsdatei; ändern Sie nicht Ihr Makefile.
Die Standardkonfigurationsdatei für cc ist
ROOTDIR/etc/compiler.ccg
Sie können eine andere Konfigurationsdatei wählen, indem Sie die Umgebungsvariable CCG so setzen, dass sie auf die gewünschte Datei zeigt.Schnittstellen zu anderen Compilern sind möglicherweise von MKS erhältlich.
Wenn Sie möchten, dass cc vorübergehend einen anderen Compiler verwendet, können Sie die Umgebungsvariable CCG auf den Namen der Konfigurationsdatei für den gewünschten Compiler setzen.
Wenn Sie die ausführbare Datei cc umbenennen, versucht sie, ihre Standardkonfiguration in einer .ccg-Datei mit demselben Basisnamen wie die umbenannte ausführbare Datei zu finden.Wenn Sie beispielsweise cc.exe in c89.exe umbenennen, sucht c89 nach einer Standardkonfigurationsdatei mit dem Namenc89.ccg in ROOTDIR/etc.
Wenn Sie einen Compiler verwenden, der keine Konfigurationsdatei hat, können Sie eine gegebene Konfigurationsdatei anpassen, um Ihren Compiler zu verwenden. Lesen Sie die Referenzseite für verschiedene Informationen zu cc sorgfältig durch und ändern Sie eine vorhandene Konfiguration, um Ihren Compiler zu verwenden.
UMGEBUNGSVARIABLEN
CCG
identifiziert die Konfigurationsdatei für den gewünschten Compiler.Wenn CCG – enthält, liest cc die Standardkonfiguration von der Standardeingabe.Wenn CCG einen Dateinamen enthält, verwendet cc diese Datei als Standardkonfigurationsdatei.Wenn CCG einen Verzeichnisnamen enthält, sucht cc nach der Standardkonfiguration in der Datei cc.ccg in diesem Verzeichnis.Wenn die ausführbare Datei umbenannt wurde, sucht cc nach der Standardkonfiguration in einer .ccg-Datei mit demselben Namen wie die ausführbare Datei.Wenn beispielsweise cc.exe in c89.exe umbenannt wurde, sucht cc nach der Standardkonfiguration in $CCG/c89.ccg.
DIAGNOSTICS
Mögliche Exit-Statuswerte sind:
0
Erfolgreicher Abschluss.
>0
Ein Fehler ist aufgetreten.
HINWEIS
Das cc-Dienstprogramm startet, wie viele andere compilerbezogene Befehle, ein entsprechendes CCG-Skript (siehe die cc-Referenzseite), um die beschriebenen Optionen zu verarbeiten, bevor der Microsoft-Compiler aufgerufen wird, um den eigentlichen Compiler auszuführen.Die tatsächliche Ausführung des CCG-Skripts wird durch die Einstellung der CCG-Umgebungsvariablen (siehe UMGEBUNGSVARIABELN) bestimmt, die je nachdem, ob Sie in der NuTCRACKER-Plattform-Entwicklungsumgebung arbeiten oder nicht, variieren kann.
Um cc zu ändern (z. B. um mit einem anderen Compiler zu arbeiten), müssen Sie einfach das CCG-Skript ändern, das ccrun auf der Grundlage der Einstellung der CCG-Umgebungsvariablen ausführt.
VERFÜGBARKEIT
Der Befehl cc ist mit den folgenden Produkten verfügbar:
PTC MKS Toolkit für Entwickler
PTC MKS Toolkit für Interoperabilität
PTC MKS Toolkit für professionelle Entwickler
PTC MKS Toolkit für professionelle Entwickler 64-Bit Edition
PTC MKS Toolkit für Unternehmensentwickler
PTC MKS Toolkit für Unternehmensentwickler 64-Bit Edition
PTC Windchill Anforderungen und Validierung
Der Befehl cxx ist mit den folgenden Produkten verfügbar:
PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition
SEE ALSO
Befehle: ld, make Sonstiges: cc
PTC MKS Toolkit 10.3 Dokumentation Build 39.