Centrum Informatyczne Trójmiejskiej Akademickiej Sieci Komputerowej

Strona główna KDM Oprogramowanie Kompilatory: gcc i g++

Kompilatory: gcc i g++

Kompilatory gcc, g++ - GNU project C and C++ Compiler zostały zainstalowane na komputerach Silicon Graphics (kliper, fregata, galeon). Kompilatory C oraz C++ są zitegrowane. Obydwa przetwarzają pliki wejściowe w jednej lub więcej z czterech etapów: wstępna faza kompilacji (preprocessing), kompilacji, gromadzenia i linkowania. Sufiksy plików źródłowych identyfikują język źródłowy, ale w zależności od użytej nazwy przyjmowane są następujące założenia:

  • gcc - założenie, że przetwarzane są pliki C oraz wybierany jest sposób linkowania z C
  • g++ - założenie, że przetwarzane są pliki C++ oraz wybierany jest sposób linkowania z C++


Opcje:

  • -x język - jawne podanie jezyka dla plików wejściowych (niż wybieranie na podstawie sufiksu). Możliwe wartości języka: c, objective-c, c-header, c++, cpp-output, assembler, assembler-with-cpp
  • -x none - wyłączenie jawnego podawania języka
  • -c - kompilowanie lub łączenie plików źródłowych bez fazy linkowania
  • -S - zatrzymanie po fazie kompilacje bez fazy łączenia plików
  • -E - zatrzymanie po wstępnej fazie kompilacji
  • -o nazwa_pliku - nadanie plikowi wyjściowenu nawy nazwa_pliku
  • -v - wyświetlanie komend uruchamiających poszczególne fazy kompilacji. Wyświetlenie wersji kompilatora.
  • -pipe - używanie potaków pomiędzy kolejnymi fazami kompilacji, a nie plików tymczasowych
  • -ansi - kompilowanie w środowisku ANSI C * -traditional - używanie tradycyjnych cech kompilatorów C
  • -traditional - używanie tradycyjnych aspektów preprocesorów C
  • -E - uruchomienie tylko preprocesora C
  • -C - nie usuwanie komentarzy. Używana razem z opcją -E
  • -P - nie generowanie komend #line
  • -H - wyświetlanie nazw używanych plików nagłówkowych
  • -biblioteka - użycie wymienionych nazw bibliotek podczas linkowania
  • -L katalog - przeszukanie katalogu w celu znalezienia niezbędnych bibliotek
  • -static - w systemach wspierających dynamiczne biblioteki, ta opcja zapobiega linkowaniu z dzielonymi bibliotekami.
  • -I katalog- dołączenie katalogu do listy katalogów przeszukiwanych podczas poszukiwanie plików nagłówkowych
  • -w - generowanie informacji dla debugger'a * -pednatic - generowanie ostrzeżeń o niezgodności ze ścisłym ANSI C
  • -pednatic-errors - traktowanie ostrzeżeń o niezgodności ze ścisłum standardem ANSI C jako błędy
  • -W - generowanie dodatkowych ostrzeżeń, dla następujących zdarzeń
  • nieulotne zmienne automatyczne mogą zostać zmienione przez wywołanie longjmp. Pojawienie się tych ostrzeżeń jest możliwe tylko podczas optymalizacji
    • funkcja może zwrócić wartość lub nie
    • wyrażnie znajdujące się po lewej stronie wyrażnia z przecinkiem, nie zawiera efektów ubocznych. W celu pozbycia się tego ostrzeżenia, należy zrzutować nieużywane wyrażenie na void. Na przykład wyrażenie 'x[i,j]' spowoduje wygenerowania ostrzezenia, ale x[(void)i,j]' już nie.
    • wartość bez znaku jest porównywana z zerem przy użyciu operatora > lub <=.


  • -Wall - generowanie wszystkich ostrzeżeń
  • -g - produkowanie informacji dla debuggowania w formatach: stabs, COFF, XCOFF lub DWARF
    • -ggdb - produkowanie informacji dla debuggowania z rozszerzeniami z gdb, o ile są możliwe
    • -gstabs - produkowanie informacji dla debuggowania w formacie stabs, bez rozszerzeń gdb. Jest to format używana przez BDX na wiekszości sytemów BSD
    • -On - wykonanie optymalizacji na poziomie n, gdzie n jest z przedziału 0..3
  • -O0 - wyłączenie optymalizacji. wartość domyślna
  • -O1 - włączenie lokalnej optymalizacji, która może zostać wykonana szybko
  • -O2 - włączenie rozszerzonej optymalizacji
  • -O3 - włączenie "agresywnej" optymalizacji.

Istotne informacje

  • Pakiet jest zainstalowany na komputerach: holk, galera
  • Wersja: taka jaka jest dostępna w aktualnej dystrybucji Linuksa
  • Katalog instalacji: katalogi systemowe
  • Pomoc, dokumentacja: z poziomu programu
  • Status licencji: własna TASKu, ważna
  • Konsultant TASK:
  • Słowa kluczowe:
  • Strona producenta: http://gcc.gnu.org/

Zobacz też: