Megosztás a következőn keresztül:


C/C++ projektek és rendszerek létrehozása a Visual Studióban

A Visual Studióval bármilyen C++ kódbázist szerkeszthet, fordíthat és készíthet teljes IntelliSense-támogatással anélkül, hogy a kódot Visual Studio-projektté kellene alakítania, vagy a Microsoft C++ (MSVC) buildelési eszközeivel kell lefordítania. Szerkesztheti például a platformfüggetlen CMake-projektet a Visual Studióban windowsos gépen, majd lefordíthatja Linuxra a g++ használatával egy távoli Linux-gépen.

C++ fordítás

A C++ program létrehozásához forráskódot kell lefordítani egy vagy több fájlból, majd ezeket a fájlokat végrehajtható fájlba (.exe), dinamikus terhelésű kódtárba (.dll) vagy statikus tárba (.lib) kell csatolni.

Az alapszintű C++ fordítás három fő lépésből áll:

  • A C++ előfeldolgozó minden forrásfájlban átalakítja az összes #directives és makródefiníciót. Ez létrehoz egy fordítási egységet.
  • A C++ fordító az egyes fordítási egységeket objektumfájlokba (.obj) fordítja le, a beállított fordítóbeállításokat alkalmazva.
  • A csatoló egyetlen végrehajtható fájlba egyesíti az objektumfájlokat, és alkalmazza a beállított csatolási beállításokat.

A Microsoft C++ (MSVC) buildelési eszközei

A Microsoft C++ fordító, a linker, a standard kódtárak és a kapcsolódó segédprogramok alkotják a Microsoft C++ (MSVC) buildelési eszközeit (más néven eszközláncot vagy eszközkészletet). Ezek a Visual Studio részét képezik. A parancssori eszközkészletet ingyenes önálló csomagként is letöltheti és használhatja. További információért lásd a Build Tools for Visual Studio a Visual Studio Letöltési oldalán.

Egyszerű programokat úgy hozhat létre, hogy közvetlenül a parancssorból invoktálja az MSVC fordítót (cl.exe). A következő parancs egyetlen forráskódfájlt fogad el, és meghívja cl.exe egy hello.exenevű végrehajtható fájl létrehozásához:

cl /EHsc hello.cpp

Itt a fordító (cl.exe) automatikusan meghívja a C++ előfeldolgozót és a csatolót a végső kimeneti fájl létrehozásához. További információért lásd a Parancssori építést.

Rendszerek és projektek létrehozása

A legtöbb valós program valamilyen buildrendszert használ a több konfigurációhoz (hibakeresés és kiadás), több platformhoz (x86, x64, ARM stb.), egyéni buildelési lépésekhez és akár több végrehajtható fájl összeállításához, amelyeket egy bizonyos sorrendben kell lefordítani. Beállíthat beállításokat egy buildkonfigurációs fájl(ok)ban, és a buildelési rendszer bemenetként fogadja a fájlt, mielőtt meghívná a fordítót. A végrehajtható fájlok létrehozásához szükséges forráskódfájlok és konfigurációs fájlok készletét projektnek nevezzük.

Az alábbi lista a Visual Studio-projektek különböző lehetőségeit mutatja be – C++:

  • Hozzon létre egy Visual Studio-projektet a Visual Studio IDE használatával, és konfigurálja azt tulajdonságlapok használatával. A Visual Studio-projektek Windowson futó programokat hoznak létre. Az áttekintést a Visual Studio dokumentációjának Fordítás és Build című témakörben találja.

  • nyisson meg egy CMakeLists.txt fájlt tartalmazó mappát. A CMake támogatása integrálva van a Visual Studióba. Az IDE használatával a CMake-fájlok bármilyen módosítása nélkül szerkesztheti, tesztelheti és hibakeresésre használhatja. Ez lehetővé teszi, hogy ugyanabban a CMake-projektben dolgozzon, mint mások, akik különböző szerkesztőket használnak. A CMake a platformfüggetlen fejlesztés ajánlott megközelítése. További információ: CMake-projektek.

  • nyisson meg egy laza mappát a forrásfájlokból projektfájl nélkül. A Visual Studio heurisztika használatával fogja létrehozni a fájlokat. Ez egy egyszerű módja a kis konzolalkalmazások fordításának és futtatásának. További információ: Mappaprojektek megnyitása.

  • nyisson meg egy mappát, amely egy makefile-t vagy bármely más buildrendszer-konfigurációs fájlt tartalmaz. A Visual Studiót úgy konfigurálhatja, hogy tetszőleges buildparancsokat hívjon meg, ha JSON-fájlokat ad hozzá a mappához. További információ: Mappaprojektek megnyitása.

  • Nyisson meg egy Windows-makefile-t a Visual Studióban. További információ: NMAKE-referencia.

MSBuild a parancssorból

Az MSBuild parancsot a parancssorból egy .vcxproj fájl és a parancssori beállítások átadásával hívhatja meg. Ez a megközelítés az MSBuild megfelelő megértését igényli, és csak akkor ajánlott, ha szükséges. További információ: MSBuild.

Ebben a részben

Visual Studio-projektek
C++-projektek létrehozása, konfigurálása és buildelése a Visual Studióban a natív buildrendszer (MSBuild) használatával.

CMake-projektek
CMake-projektek kódolása, létrehozása és üzembe helyezése a Visual Studióban.

Mappaprojektek megnyitása
A Visual Studio használata C++ projektek kódolására, fordítására és üzembe helyezésére tetszőleges buildrendszer alapján vagy buildrendszer nélkül.

Kiadási verziók
Optimalizált kiadási buildek létrehozása és hibaelhárítása a végfelhasználók számára történő üzembe helyezéshez.

Az MSVC-eszközkészlet használata a parancssorból
Ismerteti, hogyan használhatja a C/C++ fordítót, és hogyan hozhat létre eszközöket közvetlenül a parancssorból a Visual Studio IDE használata helyett.

DLL-ek létrehozása a Visual Studióban
C/C++ DLL-ek (megosztott kódtárak) létrehozása, hibakeresése és üzembe helyezése a Visual Studióban.

Útmutató: Statikus kódtár létrehozása és használata
.lib bináris fájl létrehozása.

C/C++ izolált alkalmazások és egymás melletti szerelvények létrehozása
A Windows Desktop-alkalmazások üzembehelyezési modelljét ismerteti, amely az izolált alkalmazások és az egymás melletti szerelvények ötlete alapján készült.

C++ projektek konfigurálása 64 bites, x64-alapú célokhoz
64 bites x64-hardverek megcélzása az MSVC buildelési eszközeivel.

C++ projektek konfigurálása ARM-processzorokhoz
Az MSVC buildelési eszközeinek használata ARM-hardverek megcélzásához.

A kód optimalizálása
Hogyan optimalizálhatja a kódot különböző módokon, beleértve a program által irányított optimalizálásokat.

Programok konfigurálása Windows XP-hez
A Windows XP megcélzása az MSVC buildelési eszközökkel.

C/C++ építési referencia
Hivatkozásokat tartalmaz a C++ programkészítésről, a fordító- és linkerbeállításokról, valamint a különböző buildelési eszközökről szóló cikkekre.