logo

GCC Linux

Linuxban a GCC jelentése GNU fordítógyűjtemény . Ez egy fordítórendszer a különböző programozási nyelvekhez. Főleg a C és C++ programok fordítására szolgál. A forrásprogram nevét szükséges argumentumnak veszi; A rest argumentumok nem kötelezőek, mint például a hibakeresés, a figyelmeztetés, az objektumfájl és a könyvtárak összekapcsolása.

A GCC a GNU eszközlánc alapvető összetevője. Különféle nyílt forráskódú projekteket fordítanak a GCC segítségével, mint például a Linux kernel és a GNU eszközök.

A GPL (General Public License) alatt terjesztik. Az első verzió, GCC 1.0 , 1987-ben jelent meg. Csak a C programozási nyelvhez készült, de ugyanebben az évben kiterjesztették a C++ programozási nyelv . Később más programozási nyelvekhez fejlesztették ki, mint például az Objective-C, Objective-C++, Fortran, Jáva , Ada, Go és még sok más. Legújabb verziója a programozási nyelvek jelentősen továbbfejlesztett megvalósításával rendelkezik.

Ez a GNU OS hivatalos partnere; ezért a Linux alapú rendszerek szabványos fordítójaként fogadták el.

adatbázis

A GCC összetevői

A GCC egy hordozható eszköz, és számos operációs rendszeren futhat. Ezenkívül portolni is lehet ablakok néhány eszköz használatával, mint pl Cygwin, MinGW és MinGW-W64 . Mivel a GNU eszközlánc kulcsfontosságú összetevője, a következő összetevőket tartalmazza az alkalmazások és operációs rendszerek fejlesztéséhez:

GNU fordítógyűjtemény (GCC): Ez egy fordítócsomag számos nyelvhez, mint például a C/C++ és az Objective-C/C++.

GNU gyártmány: Ez egy automatizálási eszköz, amelyet alkalmazások összeállítására és készítésére használnak.

GNU Binutils: Ez egy programcsomag, amely bináris segédeszközöket tartalmaz, mint pl linker és szerelő .

GNU Debugger (GDB). Az alkalmazások hibakeresésére szolgál.

GNU Autotools: Ez egy olyan összeállítási rendszer, amely néhány segédeszközt tartalmaz, mint például az Autoconf, az Autoheader, az Automake és a Libtool.

GNU Bison: Ez egy elemző generátor, mint lex és yacc.

GCC fordítói folyamat

A GCC a következő négy lépésben fordít le és futtathatóvá tesz egy programot:

GCC Linux

Előfeldolgozás: Ebben a lépésben a GNU előfeldolgozó (cpp.exe) létrehoz egy köztes fájlt a forráskóddal. Az előfeldolgozó tartalmazza a fejléceket (#include), és kibontja a makrókat (#define). Vegye figyelembe az alábbi parancsot:

 cpp hello.c > hello.i 

A fenti parancs egy köztes fájlt hoz létre a 'hello.i.'

Összeállítás: Ebben a lépésben az előre feldolgozott forráskód egy adott processzor összeállítási kódjává válik.

 gcc -S hello.i 

A fenti parancs egy 'hello.s.' összeállítási fájlt hoz létre. Az '-s' opció annak megadására szolgál, hogy az objektumkód helyett az összeállítás kódot állítsa elő.

Összeszerelés: Az összeállítási kód gépi kóddá alakul. Létrehoz egy „hello.o” objektumfájlt.

 as -o hello.o hello.s 

Linker: A Linker (ld.exe) a fordítói folyamat utolsó lépése. Összekapcsolja az objektumkódot a könyvtár kódjával, és végrehajtható fájlt hoz létre.

 ld -o hello.exe hello.o 

A fenti parancs egy 'hello.exe' futtatható fájlt hoz létre.

GCC telepítése Linuxra

Alapértelmezés szerint a legtöbb Linux disztribúcióhoz tartozik. Az alábbi parancs végrehajtásával ellenőrizhetjük:

 gcc -version 

A fenti parancs megjeleníti a GCC eszköz telepített verzióját. Ha nincs telepítve, kövesse az alábbi lépéseket a telepítéshez:

1. lépés: Frissítse a csomaglistát.

A csomaglista frissítéséhez hajtsa végre a következő parancsot:

 sudo apt update 

Kérni fogja a rendszergazdai jelszót, írja be a jelszót. Elkezdi frissíteni a rendszercsomagot. Tekintsük az alábbi kimeneti pillanatot:

GCC Linux

2. lépés: Telepítse a build-essential csomagot.

Különféle csomagokat tartalmaz, például gcc, g++ és make segédprogramot. A telepítéshez hajtsa végre az alábbi parancsot:

 sudo apt install build-essential 

A fenti parancs telepíti a GCC segédprogramhoz szükséges csomagokat. Most már használhatjuk a GCC segédprogramot a gépünkben. Tekintsük az alábbi kimeneti pillanatot:

GCC Linux

3. lépés: Ellenőrizze a telepítést.

A telepítés ellenőrzéséhez hajtsa végre a gcc -version parancsot az alábbiak szerint:

 gcc --version 

Megjeleníti a GCC segédprogram telepített verzióját. A verzió pontosabb részleteinek megjelenítéséhez használja a „-v” kapcsolót. Vegye figyelembe az alábbi kimenetet:

GCC Linux

Itt sikeresen telepítettük a GCC segédprogramot. Értsük meg használni. Néhány c programot fogunk létrehozni és végrehajtani a GCC segítségével.

Futtassa az első C programot a gcc-vel

Hozzon létre egy alaplapot c program 'Helló Világ!'. Hozzon létre egy 'hello.c' fájlt, és írja be az alábbi kódot:

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

Most fordítsa le a hello.c fájlt a következőképpen:

 gcc hello.c 

Ha közvetlenül futtatjuk a hello.c-t, akkor hibát fog dobni. Tegye végrehajthatóvá, a Linux rendszer alapértelmezett végrehajtható fájlja az a.out. A fájl végrehajtásához hajtsa végre a chmod parancsot az alábbiak szerint:

 chmod a+x a.out 

Most futtassa a c programot a következőképpen:

 ./a.out 

Vegye figyelembe az alábbi kimenetet:

GCC Linux

GCC parancs Példák

Néhány hasznos példa a gcc parancsra:

    Adja meg az objektumfájl nevét

Alapértelmezés szerint a gcc parancs így hozza létre az objektumfájlt 'a.out .' Ha meg szeretné változtatni az alapértelmezett kimeneti fájlnevet, használja a '-O' választási lehetőség.

tavaszi keret

Végezzük el az alap gcc parancsot:

 gcc hello.c 

A fenti parancs létrehozza az 'a.out' objektumfájlt. Az objektumfájl nevének megadásához hajtsa végre a következő parancsot:

 gcc hello.c -o hello 

Ez létrehozza a „hello” kimeneti fájlt. Vegye figyelembe az alábbi kimenetet:

GCC Linux
    Minden figyelmeztetés engedélyezése

Az összes figyelmeztetés engedélyezéséhez a kimenetben használja a '-Fal' opciót a gcc paranccsal. Hozzunk létre egy változót a hello.c fő függvényében. Vegye figyelembe az alábbi kódot:

hello.c:

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

Ha a fenti kódot a -Wall opcióval fordítjuk. Megdobja a figyelmeztetéseket. A fájl lefordításához hajtsa végre az alábbi parancsot:

 gcc -wall hello.c 

A fenti parancs megjeleníti a figyelmeztetéseket. Vegye figyelembe az alábbi kimenetet:

GCC Linux
    Készítse elő a fordítási folyamat lépésenkénti kimenetét

Csak a fordítási folyamat lépésenkénti kimenetét tudjuk előállítani.

Készítse elő az előfeldolgozó kimenetét

Az '-E' opció használatával csak az előfeldolgozás kimenetét tudjuk előállítani. Vegye figyelembe az alábbi parancsot:

 gcc -E hello.c > hello.i 

A fenti parancsból egy fájl 'hello.én' amely előfeldolgozott kimenetet tartalmaz. Vegye figyelembe az alábbi kimenetet:

GCC Linux

Készítse el az összeállítási kódot

Az összeállítási kód létrehozásához hajtsa végre a parancsot az „-S” opcióval. Vegye figyelembe az alábbi parancsot:

 gcc -S hello.c > hello.s 

A fenti parancs generálja a 'hello.s.' fájl, amely tartalmazza az összeállítás kódját. Vegye figyelembe az alábbi kimenetet:

GCC Linux

Készítse elő a lefordított kódot

karakterlánc tartalmaz

Csak a lefordított kódot tudjuk előállítani a '-C' opció használatával. Vegye figyelembe az alábbi parancsot:

 gcc -C hello.c 

A fenti parancs egy 'a.out' fájlt generál, amely csak a gépi kódot vagy a lefordított kódot tartalmazza. Vegye figyelembe az alábbi kimenetet:

GCC Linux

Készítse elő a fordítási folyamat összes közbenső fájlját

A fordítási folyamat összes köztes fájlját a '-save-temp' opció használatával előállíthatjuk. Vegye figyelembe az alábbi kimenetet:

 gcc -save-temps hello.c 

A fenti parancs egyszerre generálja az összes köztes fájlt, valamint a végrehajtható fájlokat. Vegye figyelembe az alábbi kimenetet:

GCC Linux
    Nyomtassa ki részletesen a kimenetet.

A gcc parancs által megtett minden lépésről részletes információkat tudunk megjeleníteni. Ehhez hajtsa végre a parancsot a '-v' opcióval.

 gcc -W -v hello.c 

Tekintsük az alábbi kimeneti pillanatot:

GCC Linux

Megbeszéltünk néhány leghasznosabb példát a gcc parancsra. Mivel a gcc parancs rendkívül sok lehetőséget kínál, bárhol elakadhat a használata közben. Nézzük meg, hogyan kaphat önálló segítséget a terminálról.

GCC kézikönyv

Ha bárhol elakad a gcc parancs használata közben, segítséget kérhet a termináltól. A kézikönyv parancssorból való eléréséhez hajtsa végre a man parancsot az alábbiak szerint:

 man gcc 

A fenti parancs megjeleníti a kézikönyvet, amely tartalmazza a leírást és a támogatott opciók listáját egy rövid leírással. Tekintsük az alábbi kimeneti pillanatot:

GCC Linux

görgetheti a kimenetet a továbbiakért. Nyomja meg a 'h' gombot a segítségért, és a q gombot a kézikönyvből való kilépéshez és a terminálhoz való visszatéréshez.