C fordÃtóból és fejlesztÅ‘eszközbÅ‘l annyi van, mint égen a csillag, köszönhetÅ‘en a több, mint 50 éves történelemnek. Itt érdemes megjegyezni, hogy a C++ ugyan a C nyelv objektumorientált, kibÅ‘vÃtett változataként kezdte az életét és nagyjából kompatibilis a C-vel. Itt a hangsúly a nagyjából szón van erÅ‘sen, mivel vannak olyan C++ funkciók, amik másként működnek, mint a C-ben, illetve a C rendelkezik egy-két olyan funkcióval, ami a C++ nyelvben nem található meg.
A C++ nyelvet támogató fordÃtók a C fájlok fordÃtásával is elboldogulnak a legtöbb esetben, de nem mindig. Van, hogy explicit jelezni kell a kód módosÃtásával, hogy ez C kód és nem C++.
EbbÅ‘l adódóan használhatnánk a Visual Studio C++ támogatását, de inkább a GCC-t fogjuk használni a könyvben, mert ez Linux és Windows rendszereken is elérhetÅ‘. Ugyanez elmondható a Visual Studio Code-ról, amit a programok Ãrásához fogunk használni.
A GCC és a fordÃtáshoz szükséges dolgok a Debian alapú rendszerek esetén az apt install build-essential gcc parancsok segÃtségével telepÃthetÅ‘. Windows esetén a GCC beszerzésének két módja is van. TelepÃthetjük a Linux subsystem-et és egy Debiant. Ebben ugyanúgy, az apt segÃtségével tudunk telepÃteni, de Linux binárisokat fogunk kapni. Ha natÃv Windows binárisokat szeretnénk fordÃtani a GCC-vel, akkor elÅ‘ször az MSYS2-t kell telepÃtenünk.
Az MSYS2 tartalmazza az alap Unix parancsokat, illetve ez egy közös platformot biztosÃt a C és C++ fordÃtóknak. Ennek segÃtségével telepÃthetünk könnyen párhuzamosan egymás mellé 32 bites és 64 bites fordÃtókat.
A https://www.msys2.org/ cÃmrÅ‘l tudjuk letölteni az MSYS2 csomagot. A telepÃtés után több parancsikont is kapunk a Start menübe. Az MSYS2 MINGW64 futtatásával egy 64 bites környezetre konfigurált GCC környezetet kapunk, az MSYS2 MINGW32 elindÃtásával pedig egy 32 bites környezetet. Azonban egyik környezetben sincs alapértelmezetten telepÃtve a fordÃtó, de a használatára elÅ‘ van konfigurálva a környezet.
A fordÃtó nem része az MSYS2 projektnek, ezt a MINGW64 projekt fejlesztÅ‘i tartják karban és többször adnak fordÃtót, mint amennyi MSYS2 frissÃtés van. Ezért a fordÃtót a környezetünkbe az pacman -S mingw-w64-x86_64-gcc parancs segÃtségével tudunk telepÃteni. Ha 32 bites fordÃtóra is szükségünk van, akkor az MSYS2_MINGW32-t elindÃtva a pacman -S mingw-w64-i686-gcc parancs segÃtségével tudunk 32 bites fordÃtót is telepÃteni.
A két környezet oka, hogy a GCC parancs a 32 bites környezetben a 32 bites GCC-t indÃtja majd el, a 64 bitesben pedig a 64 bitest. FrissÃteni a teljes telepÃtést környezettÅ‘l függetlenül a pacman -Syu parancs segÃtségével tudjuk. Ezt a teljes telepÃtés után érdemes lefuttatni.
A fordÃtó telepÃtettségét a gcc --version parancs segÃtségével tudjuk ellenÅ‘rizni. A where gcc segÃtségével pedig ellenÅ‘rizhetjük, hogy hova is mutat pontosan a parancs. 32 bites környezeten a C:\msys64\mingw32\bin\gcc.exe helyre kellene mutatnia (feltételezve, hogy a C:\msys64 mappába telepÃtettük az MSYS2-t), 64 bites környezeten pedig a C:\msys64\mingw64\bin\gcc.exe helyre.