logo

GCC Linux

W Linuksie GCC oznacza Kolekcja kompilatorów GNU . Jest to system kompilujący dla różnych języków programowania. Używany jest głównie do kompilacji programów w językach C i C++. Jako niezbędny argument przyjmuje nazwę programu źródłowego; pozostałe argumenty są opcjonalne, takie jak debugowanie, ostrzeżenie, plik obiektowy i łączenie bibliotek.

GCC jest głównym składnikiem zestawu narzędzi GNU. Różne projekty open source są kompilowane przy użyciu GCC, takiego jak jądro Linuksa i narzędzia GNU.

Jest rozpowszechniany na licencji GPL (General Public License). Pierwsza wersja, GCC 1.0 , został wydany w 1987 roku. Był przeznaczony tylko dla języka programowania C, ale w tym samym roku został rozszerzony na język programowania Język programowania C++ . Później został opracowany dla innych języków programowania, takich jak Objective-C, Objective-C++, Fortran, Jawa , Ada, Go i nie tylko. Jego najnowsza wersja ma znacznie ulepszoną implementację języków programowania.

Jest oficjalnym partnerem systemu operacyjnego GNU; dlatego został przyjęty jako standardowy kompilator systemów opartych na Linuksie.

rozłożyste drzewa

Składniki GCC

GCC jest narzędziem przenośnym i może działać na wielu systemach operacyjnych. Można go również przenieść Okna za pomocą niektórych narzędzi, np Cygwin, MinGW i MinGW-W64 . Ponieważ jest to kluczowy komponent zestawu narzędzi GNU, zawiera następujące komponenty do tworzenia aplikacji i systemów operacyjnych:

Kolekcja kompilatorów GNU (GCC): Jest to pakiet kompilatorów dla wielu języków, takich jak C/C++ i Objective-C/C++.

Marka GNU: Jest to narzędzie do automatyzacji, które służy do kompilowania i budowania aplikacji.

Binutils GNU: Jest to pakiet zawierający binarne narzędzia użytkowe, takie jak linker I monter .

Debuger GNU (GDB). Służy do debugowania aplikacji.

Narzędzia automatyczne GNU: Jest to system kompilacji zawierający kilka narzędzi narzędziowych, takich jak Autoconf, Autoheader, Automake i Libtool.

GNU Bizon: Jest to generator parsera, taki jak Lex i Yacc.

Proces kompilatora GCC

GCC kompiluje i czyni program wykonywalnym w następujących czterech krokach:

GCC Linux

Przetwarzanie wstępne: Na tym etapie preprocesor GNU (cpp.exe) tworzy plik pośredni zawierający kod źródłowy. Preprocesor zawiera nagłówki (#include) i rozwija makra (#define). Rozważ poniższe polecenie:

 cpp hello.c > hello.i 

Powyższe polecenie utworzy plik pośredni „hello.i.”

Kompilacja: Na tym etapie wstępnie przetworzony kod źródłowy jest kompilowany do kodu asemblera dla określonego procesora.

 gcc -S hello.i 

Powyższe polecenie utworzy plik zestawu „hello.s.” Opcja „-s” służy do określenia, że ​​ma zostać utworzony kod asemblera, a nie kod obiektowy.

Montaż: Kod asemblera jest konwertowany na kod maszynowy. Spowoduje to utworzenie pliku obiektowego „hello.o.”

 as -o hello.o hello.s 

Linker: Linker (ld.exe) jest ostatnim krokiem procesu kompilatora. Łączy kod obiektowy z kodem biblioteki i tworzy plik wykonywalny.

 ld -o hello.exe hello.o 

Powyższe polecenie utworzy plik wykonywalny „hello.exe”.

Instalacja GCC na Linuksie

Domyślnie jest dostarczany z większością dystrybucji Linuksa. Możemy to zweryfikować wykonując poniższe polecenie:

 gcc -version 

Powyższe polecenie wyświetli zainstalowaną wersję narzędzia GCC. Jeśli nie jest zainstalowany, wykonaj poniższe kroki, aby go zainstalować:

Krok 1: Zaktualizuj listę pakietów.

Aby zaktualizować listę pakietów, wykonaj następujące polecenie:

 sudo apt update 

Poprosi o hasło administracyjne systemu, wprowadź hasło. Rozpocznie się aktualizacja pakietu systemowego. Rozważ poniższy snap danych wyjściowych:

GCC Linux

Krok 2: Zainstaluj pakiet niezbędny do kompilacji.

porównaj z metodą Java

Zawiera różne pakiety, takie jak gcc, g++ i narzędzie make. Wykonaj poniższe polecenie, aby je zainstalować:

 sudo apt install build-essential 

Powyższe polecenie zainstaluje wymagane pakiety dla narzędzia GCC. Teraz możemy używać narzędzia GCC na naszym komputerze. Rozważ poniższy snap danych wyjściowych:

GCC Linux

Krok 3: Sprawdź instalację.

Aby zweryfikować instalację, wykonaj polecenie gcc -version w następujący sposób:

 gcc --version 

Wyświetli zainstalowaną wersję narzędzia GCC. Aby wyświetlić bardziej szczegółowe informacje o wersji, użyj opcji „-v”. Rozważ poniższe dane wyjściowe:

GCC Linux

Tutaj pomyślnie zainstalowaliśmy narzędzie GCC. Rozumiemy, jak z niego korzystać. Stworzymy i wykonamy niektóre programy w języku C przy użyciu GCC.

Uruchom pierwszy program w C przez gcc

Utwórz podstawowy program c 'Witaj świecie!'. Utwórz plik „hello.c” i umieść w nim poniższy kod:

 #include int main() { printf('Hello, world!
'); return 0; } 

Teraz skompiluj plik hello.c w następujący sposób:

 gcc hello.c 

Jeśli bezpośrednio uruchomimy hello.c, zgłosi błąd. Ustaw go jako wykonywalny, domyślnym plikiem wykonywalnym dla systemu Linux jest a.out. Aby uruchomić plik, wykonaj polecenie chmod w następujący sposób:

 chmod a+x a.out 

Teraz uruchom program c jako:

 ./a.out 

Rozważ poniższe dane wyjściowe:

GCC Linux

Przykłady poleceń GCC

Oto kilka przydatnych przykładów polecenia gcc:

    Określ nazwę pliku obiektowego

Domyślnie polecenie gcc tworzy plik obiektowy jako 'a.out .' Jeśli chcesz zmienić domyślną nazwę pliku wyjściowego, użyj metody „-O” opcja.

Wykonajmy podstawowe polecenie gcc:

 gcc hello.c 

Powyższe polecenie wygeneruje plik obiektowy „a.out”. Aby określić nazwę pliku obiektowego, wykonaj następujące polecenie:

 gcc hello.c -o hello 

Wygeneruje plik wyjściowy „hello”. Rozważ poniższe dane wyjściowe:

GCC Linux
    Włącz wszystkie ostrzeżenia

Aby włączyć wszystkie ostrzeżenia na wyjściu, użyj metody '-Ściana' opcję za pomocą polecenia gcc. Utwórzmy zmienną w głównej funkcji hello.c. Rozważ poniższy kod:

cześć, c:

 #include int main() { int a; printf('Hello, world!
'); return 0; } 

Jeśli skompilujemy powyższy kod za pomocą opcji -Wall. Będzie rzucać ostrzeżenia. Wykonaj poniższe polecenie, aby skompilować plik:

 gcc -wall hello.c 

Powyższe polecenie wyświetli ostrzeżenia. Rozważ poniższe dane wyjściowe:

GCC Linux
    Utwórz krokowy wynik procesu kompilacji

Możemy jedynie uzyskać krokowy wynik procesu kompilacji.

Wygeneruj dane wyjściowe preprocesora

Używając opcji „-E”, możemy wygenerować jedynie dane wyjściowe procesu wstępnego. Rozważ poniższe polecenie:

 gcc -E hello.c > hello.i 

Z powyższego polecenia plik 'Cześć, ja' zawierający wstępnie przetworzone dane wyjściowe. Rozważ poniższe dane wyjściowe:

GCC Linux

Utwórz kod zestawu

Aby wygenerować kod asemblera, wykonaj polecenie z opcją „-S”. Rozważ poniższe polecenie:

 gcc -S hello.c > hello.s 

Powyższe polecenie wygeneruje plik „hello.s.” plik zawierający kod zestawu. Rozważ poniższe dane wyjściowe:

GCC Linux

Wygeneruj skompilowany kod

Edukacja Cassidy'ego Hutchinsona

Możemy wygenerować tylko skompilowany kod, używając opcji „-C”. Rozważ poniższe polecenie:

 gcc -C hello.c 

Powyższe polecenie wygeneruje plik „a.out”, zawierający wyłącznie kod maszynowy lub kod skompilowany. Rozważ poniższe dane wyjściowe:

GCC Linux

Utwórz wszystkie pliki pośrednie procesu kompilacji

Możemy utworzyć wszystkie pliki pośrednie procesu kompilacji, używając opcji „-save-temp”. Rozważ poniższe dane wyjściowe:

 gcc -save-temps hello.c 

Powyższe polecenie wygeneruje jednocześnie wszystkie pliki pośrednie i pliki wykonywalne. Rozważ poniższe dane wyjściowe:

GCC Linux
    Wydrukuj szczegółowe dane wyjściowe.

Możemy wyświetlić szczegółowe informacje o każdym kroku wykonywanym przez polecenie gcc. Aby to zrobić, wykonaj polecenie z opcją „-v”.

 gcc -W -v hello.c 

Rozważ poniższy snap danych wyjściowych:

GCC Linux

Omówiliśmy kilka najbardziej przydatnych przykładów polecenia gcc. Ponieważ polecenie gcc zapewnia ogromną liczbę opcji, możesz utknąć w dowolnym miejscu podczas jego używania. Zobaczmy, jak samodzielnie uzyskać pomoc z terminala.

Podręcznik GCC

Jeśli utkniesz w dowolnym miejscu podczas korzystania z polecenia gcc, możesz uzyskać pomoc ze swojego terminala. Aby uzyskać dostęp do podręcznika z wiersza poleceń, wykonaj polecenie man w następujący sposób:

 man gcc 

Powyższe polecenie wyświetli instrukcję zawierającą opis oraz listę obsługiwanych opcji wraz z krótkim opisem. Rozważ poniższy snap danych wyjściowych:

GCC Linux

możesz przewinąć dane wyjściowe, aby przeczytać więcej. Naciśnij klawisz „h”, aby uzyskać pomoc, i q, aby wyjść z instrukcji i wrócić do terminala.