20
ROZDZIAŁ 4. UŻYWANIE KOMPILATORA
kompilatorowi dany język. Aby wymusić na GCC korzystanie z języka C. używamy parametru “-x <język>”:
gcc -x c -o program kod
W rezultacie kompilator |>otraktuje plik "kod”, jako plik z kodem źródłowym w języku C.
Pracując nad złożonym programem składającym się z kilku plików źródłowych (.c), możemy skompilować je niezależnie od siebie, tworząc tak zwane pliki typu obiekt (ang. Objecł File), są to pliki skompilowane ale nie poddane linkowaniu. Następnie stworzyć z nich jednolity' program. Jest to lxardzo wygodne i praktyczne rozwiązanie ze względu na to, iż nie jesteśmy zmuszeni kompilować wszystkich plików tworzące program za każdym razem na nowo a jedyne te w których wprowadziliśmy zmiany. Aby skompilować plik bez linkówania używamy parametru "-C <plik>”:
gcc -o programl.o -c kodl.c gcc -o program2.o -c kod2.c
Otrzymujemy w ten sposób pliki typu obiekt program l.o i program2.o. A następnie tworzymy z nich program główny:
gcc -o program programl.o program2.o
Aby włączyć dokładne, rygorystyczne sprawdzanie napisanego kodu, co może być przydatne, jeśli chcemy dążyć do perfekcji, używamy przełączników:
gcc kod.c -o program -Werror -Wall -W -pedantic -ansi
Więcej informacji na temat parametrów i działania kompilatora GCC można znaleźć na:
• Strona domowa projektu GNU GCC
• Krótki przekrojowy opis GCC po polsku
• Strona podręcznika systemu UNIX (mati)
Zobacz podręcznik Borland C++ Coinpiler.
Jedną z najbardziej podstawowych umiejętności, które musi posiąść początkujący programista jest umiejętność rozumienia komunikatów o różnego rodzaju błędach, które sygnalizuje kompilator. Wszystkie te informacje pomogą Ci szybko wychwycić ewentualne błędy (których na i>oczątku zawsze jest bardzo dużo). Nie martw się, że na początku dość często będziesz oglądał wydruki błędów, zasygnalizowanych przez kompilator — nawet zaawansowanym programistom się to zdarza. Kompilator ma za zadanie pomóc Ci w szybkiej poprawie ewentualnych błędów, dlatego też umiejętność analizy komunikatów o błędach jest tak ważna.