A C ++ fordító magyarázata: Mi az a fordító és hogyan használod?

Bevezetés a C ++ fordítókba

A C ++ használatának megkezdéséhez meg kell tanulnia egy kicsit a fordítókról és arról, hogy a C ++ hogyan működik a számítógépén.

Ha mindent elmondtak és készek, a számítógépek csak egy nyelvet, a gép nyelvét értik. A gépi nyelv teljes egészében bináris bitekből, vagy 0-ból és 1-ből áll.

Bár binárisan is lehetne programozni, hihetetlenül unalmas és időigényes lenne. Tehát mi emberek fejlesztettük a programozási nyelveket, hogy megkönnyítsük a szoftverek fejlesztését.

Az összeállítási nyelv közvetlen 1: 1 gépnyelvvel. Az olyan nyelvek, mint a C, a C ++ és a COBOL, valamivel magasabbak, és le kell fordítani őket. Még magasabbra megy. Az olyan nyelvek, mint a JavaScript és a Python, tartalmaznak olyan összetevőket, amelyek lefordításra kerülnek C ++ vagy más alacsony szintű nyelvekre, mielőtt lefordítanák őket.

Mivel a számítógépes architektúra olyan elektronikus kapcsolókból és kábelekből áll, amelyek csak bináris 1-es és 0-osokkal működnek, egy fordítóra van szükség, hogy lefordítsa a kódot a magas szintű C ++ -ról a CPU által érthető gépi nyelvre.

Hogyan működnek a fordítók

A fordítók olyan segédprogramok, amelyek átveszik a kódodat és futtatható gépi kódfájlokká alakítják át.

Amikor lefordít egy fordítót a kódján, először az előprocesszor elolvassa a forráskódot (az imént írt C ++ fájlt). Az előfeldolgozó megkeresi az összes előfeldolgozó direktívát (# -nel kezdődő kódsorok). Az előfeldolgozó irányelvek hatására az előfeldolgozó valamilyen módon megváltoztatja a kódot (általában valamilyen könyvtár vagy egy másik C ++ fájl hozzáadásával).

Ezután a fordító az előre feldolgozott kódsoron keresztül dolgozik, sorokról lefordítva az egyes sorokat a megfelelő gépnyelvi utasításra. Ez a forráskódban található összes szintaxis hibát is feltárja, és hibát dob ​​a parancssorba.

Végül, ha nincs hiba, a fordító létrehoz egy objektumfájlt a gépi nyelv bináris futtatásához, amely szükséges a gépen való futtatáshoz. Bár a fordító által az imént létrehozott objektumfájl valószínűleg elég ahhoz, hogy valamit elvégezzen a számítógépén, még mindig nem működik futtathatóan a C ++ programban. Van egy utolsó fontos lépés a futtatható program elérésére.

A C ++ hatalmas könyvtárat tartalmaz az olyan nehéz feladatok végrehajtásához, mint az I / O és a hardveres manipuláció. Felveheti ezeket a könyvtárakat az előfeldolgozó direktívákkal, de az előfeldolgozó nem adja hozzá automatikusan a kódjához.

Ahhoz, hogy rendelkezzen végleges futtatható programmal, egy másik linker néven ismert segédprogramnak össze kell kapcsolnia az objektumfájlokat a kód futtatásához szükséges könyvtárfunkciókkal.

Gondoljon arra, hogy rendelkezik a ház építéséhez szükséges összes blokkkal. A fordító elkészítette az összes blokkot, de a linker az, amely összeköti őket, hogy végre házat hozzon létre. Miután ez megtörtént, most már van egy működő futtatható fájlja!

Hogyan állítsunk össze egy fájlt

Tegyük fel, hogy van egy C ++ fájlja helloWorld.cpp...

Ha Windows operációs rendszert használ

Az IDE használata, mint a CodeBlocks

Olyan egyszerű, mint a build és futtatás gombra kattintva létrehoznak egy fájlt a projekt mappában.

img

A Parancssor használata

  1. Nyissa meg a fejlesztői parancssort - Ehhez a lépéshez Microsoft Visual Studio vagy más IDE szükséges, amely lehetővé teszi a program fordítását a parancssorból. C ++ fordítókra is kereshet online.
  2. Navigáljon közvetlenül a forráskódhoz
  3. Futtassa a fordítót a forráskódon (feltételezve, hogy a Microsoft Visual Studio fordítót használja) cl /EHsc helloWorld.cpp

Ez most létrehoz egy objektumfájlt, és automatikusan összekapcsolja az Ön számára. Ha ugyanabba a mappába néz, akkor egy hellWorld.exe futtatható fájl jelenik meg (vegye figyelembe az exe kiterjesztést).

  1. Írja helloWorldbe a parancssorba a futtatható fájl futtatásához

Alternatív megoldásként sok IDE lehetővé teszi a program gyors felépítését és megtekintését. Ez könnyebb lehet, mivel előfordulhat, hogy a Windows verziója nincs előre csomagolva egy fordító segédprogrammal.

Ha Linux vagy OSX operációs rendszert használ

  1. Nyisson meg egy terminálablakot, és keresse meg a forráskód könyvtárat
  2. Futtassa a fordítót a forráskódján g++ helloWorld.cpp -o helloWorld

Ez létrehoz egy objektumfájlt, és automatikusan összekapcsolja az Ön számára. Keresse meg a mappát, és megjelenik egy helloWorld.exe futtatható fájl (vegye figyelembe az exe kiterjesztést).

  1. Írja ./helloWorldbe a terminál ablakába a futtatható fájl futtatásához

A g ++ a szokásos Linux fordító és nagyszerű segédprogram. Az operációs rendszerhez van csomagolva.

MEGJEGYZÉS: a kód közvetlen fordításához és futtatásához futtassa g++ -o helloWorld helloWorld.cpp; ./helloWorldúgy , hogy amikor többször kell lefordítania és futtatnia a kódot, felfelé mutató nyíl.

Számos különféle fordító létezik. A felsoroltak közül kettő általában Windows vagy Linux / OSX csomagolású.

További információ a C ++ -ról

  • Bevezetés a C ++ programozásba
  • Objektum-orientált programozás C ++ nyelven
  • Grafikonalgoritmusok és adatstruktúrák a C ++ és a Java nyelven
  • Hogyan lehet fordítani a C ++ kódot a VS kódba