cc, cxx — interfejsy do kompilatorów Microsoft C i C++

SYNOPSIS

cc]]files…

cxx]files…

OPIS

Komendy cc i cxx służą jako interfejsy do kompilatora Microsoft C (cl).Obsługiwane są wersje 5.0 i wyższe tego kompilatora.cc służy do kompilacji plików C, natomiast cxx służy do kompilacji plików C++.

Uwaga:

Zachowanie cc zależy od tego, czy pracujesz w standardowym środowisku programistycznym MKS Toolkit, czy też w środowisku programistycznym przeznaczonym do użycia z MKS Toolkit UNIX APIs.

cxx jest dostępny tylko w środowisku programistycznym PTC MKS Toolkit UNIX APIs.

Te polecenia są tylko wrapperami, które wywołują narzędzie clutility.Jeśli używasz PTC MKS Toolkit for Professional Developers lub PTC MKS Toolkit for Developers, obecność clin PATH jest sprawdzana podczas instalacji.Dla innych produktów Toolkit, musisz upewnić się, że clis jest w PATH.

Pliki z końcówką .c są traktowane jako pliki źródłowe C, pliki z rozszerzeniem .cpp lub .cxx są traktowane jako pliki źródłowe C++, a pliki z rozszerzeniem .asm są traktowane jako pliki źródłowe języka asemblera.Obecność plików źródłowych z rozszerzeniem .cpp lub .cxxautomatycznie powoduje, że pliki źródłowe są kompilowane tak, jakby zamiast nich wywołano poleceniecxx.

Polecenia cc i cxx domyślnie ustawiają następujące przełączniki kompilatora Microsoft (tylko dla platform Intel):

/D_X86_/D_NUTC_=0x430 (Value changes with each release)/Zl/Qifdiv-

Uwaga:

Opcja /D_NUTC_=0x430 jest ustawiana tylko podczas pracy w środowisku programistycznym PTC MKS Toolkit UNIX APIs.

Opcja /Qifdiv- jest ustawiana tylko podczas pracy w środowisku programistycznym PTC MKS Toolkit UNIX APIs i jest dostępna tylko dla Microsoft Visual Studio 2.1 lub nowszego.

Możesz użyć znacznika -W/optionflag, aby przekazać opcje bezpośrednio do cl.Robiąc to, uważaj, aby nie popaść w konflikt z opcjami, które ustawia to polecenie. Na przykład, domyślny poziom ostrzeżeń kompilatora jest ustawiony na/W3. Opcji -W/Wn można użyć do zastąpienia tej wartości domyślnej.Opcje cl określone za pomocą -W zastępują opcje cl wygenerowane przez inne opcje cc orcxx.

Opcje

-c

tylko kompiluje – nie łączy.

Ta opcja staje się opcją /c dla cl.

-C

przekazuje komentarze do wyjścia preprocesora.

Ta opcja staje się opcją /C dla cl.

-Dname

definiuje symbol preprocesora z opcjonalną wartością.

Opcja ta staje się opcją /Dname=value do cl.

-E

wysyła wszystkie dane wyjściowe preprocesora na standardowe wyjście.

Opcja ta staje się opcją /E do cl.

-e epsym

ustala punkt wejścia (przekazywany do linkera).

-ffloat

określa opcje zmiennoprzecinkowe, których używają kompilator i linker:

-f- no floating point required-f emulated floating point-fp hardware floating point (using 80x87 coprocessor)

Uwaga:

Ta opcja jest przestarzała i powoduje ostrzeżenie. Jest ona dostarczana dla kompatybilności wstecznej i nie jest dostępna z cxxor podczas pracy w środowisku programistycznym PTC MKS Toolkit UNIX APIs.

-g

produkuje informacje o debugowaniu w skompilowanych modułach obiektów.

Opcja ta staje się opcją /Z7 dla cl.

-I katalog

dodaje katalog do początku listy katalogów, które mają być przeszukiwane w poszukiwaniu plików include (wartość zmiennej środowiskowej %Include%). Wszelkie katalogi podane w wierszu poleceń są przeszukiwane najpierw, w kolejności w jakiej pojawiają się w wierszu poleceń.

Opcja ta staje się opcją /Idirectory dla cl.

-l library

jeśli łączenie, dodaje podaną bibliotekę do listy przeszukiwanych bibliotek.W poszukiwaniu bibliotek (na przykład, z -lfoo), każdy katalog biblioteki jest najpierw przeszukiwany pod kątem nazwy archiwalnej w stylu UNIX-owym (to jest libfoo.a), a następnie dla nazwy biblioteki w stylu Windows (czyli foo.lib).

Opcja ta jest przekazywana linkerowi.

-L katalog

jeśli łączy, dodaje katalog do początku listy katalogów, które linker przeszukuje w poszukiwaniu bibliotek (wartość zmiennej środowiskowej %Lib%). Wszystkie katalogi podane w wierszu poleceń są przeszukiwane najpierw, w kolejności, w jakiej występują w wierszu poleceń.

Opcja ta jest przekazywana do linkera.

-m

tworzy mapę dowiązań.

Ta opcja jest przekazywana linkerowi.

-mmodel

określa model pamięci, którego używają kompilator i linker.Modele mogą zawierać:

-ms small model-mm medium model-ml large model-mf flat model (32-bit)-mc compact model-mh huge model

Uwaga:

Ta opcja jest przestarzała i powoduje wyświetlenie ostrzeżenia. Jest ona dostarczana dla kompatybilności wstecznej i nie jest dostępna z cxxor podczas pracy w środowisku programistycznym PTC MKS Toolkit UNIX APIs.

-M

informuje o wielokrotnie zdefiniowanych symbolach.

Uwaga:

To zachowanie jest dostępne tylko podczas pracy w środowisku programistycznym PTC MKS Toolkit UNIX APIs. W przeciwnym razie, -M jest identyczne z opcją -m.

-o output

określa nazwę pliku wyjściowego generowanego przez linker. Jeśli podano -c i -o, to opcja -o jest ignorowana; można jednak określić nazwę pliku obiektowego wygenerowanego przy pomocy -W/Foobj_file.

Uwaga:

Przy pracy w środowisku programistycznym PTC MKS Toolkit UNIX APIs, opcja -o nie jest ignorowana. Zamiast tego zachowuje się ona jak -W/Foobj_file i określa nazwę generowanego pliku obiektowego.

Nazwy plików określone opcją -W/Fo powinny mieć rozszerzenie .o lub .obj. Jeżeli nazwa pliku nie ma takiego rozszerzenia, to przed wywołaniem linkera jego bieżące rozszerzenie jest zastępowane .obj. Jednakże, gdy podano również -cis, nie ma ograniczeń co do rozszerzenia podanego pliku.

-O

Instruuje kompilator do generowania zoptymalizowanego kodu.

Opcja ta staje się opcją /Ox dla cl.

-P

zapisuje dane wyjściowe preprocesora do pliku, którego nazwę uzyskuje się przez zastąpienie rozszerzenia .c(lub .cpp) rozszerzeniem .i.

-s

podczas łączenia usuwa z pliku wyjściowego informacje o debugowaniu.

Opcja ta jest przekazywana linkerowi.

-S

produkuje listing kodu asemblera. Przyrostkiem pliku z listingiem jest .asm. Listing ten zawiera kod źródłowy i kod asemblacji.

Opcja ta staje się opcją /FAs dla cl.

-static

żąda łączenia ze statycznymi bibliotekami C++ runtime.Nie jest to zalecane.

Gdy ta opcja nie jest podana, domyślnie dla C++ jest tocl /MD i tworzone są wielowątkowe DLL.

-u symname

podczas linkowania dodaje niezdefiniowaną referencję do symname.

Ta opcja jest przekazywana do linkera.

-U symname

oddefiniuje określony symbol preprocesora.

Ta opcja staje się opcją /Usymname dla cl.

-VS num

przechodzi do opcji /VERSION linkera.

-Wc++

wymusza linkowanie C++.

Ta opcja jest przekazywana do linkera.

Uwaga:

Ścieżki bibliotek C++ są dostępne tylko wtedy, gdy pracujesz w środowisku rozwojowym dla PTC MKS Toolkit UNIX APIs. Jeśli nie pracujesz w tym środowisku, musisz określić te ścieżki bibliotek za pomocą opcji -L.

-Wv

wybiera tryb verbose.

Ta opcja jest przekazywana do linkera.

-W/opcja

określa opcję, która ma być przekazana albo do kompilatora C, albo do linkera z usuniętym początkowym -W.Opcje – subsystem, def,base, entry, implib,machine, map, out,stack i dll – są przekazywane do linkera; wszystkie inne są przekazywane do kompilatora.

-x

podczas łączenia usuwa z pliku wyjściowego informacje debugowania związane z lokalnymi symbolami.

Ta opcja jest przekazywana do linkera.

-Xc

kompiluje ze ścisłą zgodnością z ANSI C.Tylko symbole określone przez specyfikację ANSI C są widoczne podczas kompilacji.

Ta opcja staje się opcjami /D__STRICT_ANSI=1 i/D__STDC__=1 dla cl.

-Xa -Xs -Xt

kompiluje z nie ścisłą zgodnością z ANSI C. Podczas kompilacji widoczne są tylko symbole określone przez specyfikację ANSI C.

Opcja ta staje się /D__STDC__=0 tocl.

Mimo że ta strona referencyjna opisuje cc jako interfejs do kompilatora Microsoft C, nie jest to pełna prawda. Tak naprawdę, cc jest konfigurowalnym interfejsem do dowolnego kompilatora C i został zaprojektowany do użycia z make. Teoretycznie, możesz po prostu przedefiniować cc na każdym systemie do pracy z kompilatorem C tego systemu i po prostu używając cc w swoich plikach make, możesz używać tych samych plików make w różnych systemach.

cc używa pliku konfiguracyjnego kompilacji do konwersji argumentów w standardowym wierszu poleceń na argumenty polecenia lub sekwencji poleceń potrzebnych do wywołania twojego kompilatora lublinkera. Jeśli chcesz zmienić kompilator lub linker, zmień odpowiedni plik konfiguracyjny; nie zmieniaj swojego pliku makefile.

Domyślnym plikiem konfiguracyjnym dla cc jest

ROOTDIR/etc/compiler.ccg

Możesz wybrać inny plik konfiguracyjny przez ustawienie zmiennej środowiskowej CCG tak, aby wskazywała na żądany plik.Interfejsy do innych kompilatorów mogą być dostępne w MKS.

Jeśli chcesz, aby cc tymczasowo używał innego kompilatora, możesz ustawić zmienną środowiskową CCG na nazwę pliku konfiguracyjnego dla żądanego kompilatora.

Jeśli zmienisz nazwę pliku wykonywalnego cc, spróbuje on znaleźć swoją domyślną konfigurację w pliku .ccg o tej samej nazwie bazowej, co zmieniony plik wykonywalny.Na przykład, jeśli zmienisz nazwę cc.exe na c89.exe, c89 będzie szukał domyślnego pliku konfiguracyjnego o nazwiec89.ccg w ROOTDIR/etc.

Jeśli używasz kompilatora, który nie ma pliku konfiguracyjnego, możesz dostosować dany plik konfiguracyjny, aby używał twojego kompilatora.Przeczytaj uważnie stronę referencyjną cc miscellaneous information i zmodyfikuj istniejącą konfigurację, aby używała twojego kompilatora.

ENVIRONMENT VARIABLES

CCG

identyfikuje plik konfiguracyjny dla żądanego kompilatora.Jeśli CCG zawiera -, cc odczytuje domyślną konfigurację ze standardowego wejścia.Jeśli CCG zawiera nazwę pliku, to cc używa tego pliku jako domyślnego pliku konfiguracyjnego.Jeśli CCG zawiera nazwę katalogu, to cc szuka domyślnej konfiguracji w pliku cc.ccg w tym katalogu.Jeśli plik wykonywalny został przemianowany, to szuka domyślnej konfiguracji w pliku .ccg o tej samej nazwie co plik wykonywalny.Na przykład, jeśli cc.exe zostało przemianowane na c89.exe, to szuka domyślnej konfiguracji w $CCG/c89.ccg.

DIAGNOSTYKA

Możliwe wartości stanu wyjścia to:

0

Ukończenie pomyślne.

>0

Wystąpił błąd.

UWAGA

Narzędzie cc, podobnie jak wiele innych poleceń związanych z kompilatorem, w rzeczywistości uruchamia odpowiedni skryptCCG (zobacz stronę cc Miscellaneous Reference), który przetwarza opisane opcje przed wywołaniem kompilatora Microsoftu w celu wykonania rzeczywistej kompilacji.Faktyczne uruchomienie skryptu CCG jest określone przez ustawienie zmiennej środowiskowej CCG (zobacz zmienne środowiskoweENVIRONMENT VARIABLES), która może się różnić w zależności od tego, czy pracujesz w środowisku programistycznym NuTCRACKER Platform.

Aby zmodyfikować cc (na przykład, aby pracować z innym kompilatorem), musisz po prostu zmodyfikować skrypt CCG, który uruchamia się na podstawie ustawienia zmiennej środowiskowej CCG.

DOSTĘPNOŚĆ

Komenda cc jest dostępna z następującymi produktami:

PTC MKS Toolkit for Developers
PTC MKS Toolkit for Interoperability
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
PTC Windchill Requirements and Validation

Polecenie cxx jest dostępne z następującymi produktami:

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

Polecenia: ld, make Różne: cc

PTC MKS Toolkit 10.3 Documentation Build 39.


.

Dodaj komentarz