Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Visual Studio buildelési eszközei közé tartozik egy C fordító, amellyel az alapszintű konzolprogramoktól kezdve a teljes Windows asztali alkalmazásokig és mobilalkalmazásokig mindent létrehozhat. A Microsoft C/C++ (MSVC) egy C és C++ fordító, amely a legújabb verzióiban megfelel a legújabb C nyelvi szabványoknak, beleértve a C11-et és a C17-et is.
Ez az útmutató bemutatja, hogyan hozhat létre egy alapszintű Hello, világstílusú C programot egy szövegszerkesztő használatával, majd fordíthatja le a parancssorban. Ha inkább a C++-ban szeretne dolgozni a parancssorban, olvassa el az útmutatót: Natív C++ program összeállítása a parancssorban. Ha a parancssor használata helyett a Visual Studio IDE-t szeretné kipróbálni, tekintse meg az útmutatót: A projektek és megoldások használata (C++) vagy a Visual Studio IDE használata a C++ asztali fejlesztéshez.
Előfeltételek
A Visual Studio vagy a Visual Studio buildelési eszközei, valamint az asztali fejlesztés C++ számítási feladattal
- A Visual Studio egy hatékony integrált fejlesztési környezet, amely számos nyelven és platformon támogatja a teljes körű szerkesztőt, erőforrás-kezelőket, hibakeresőket és fordítókat. Ezekről a funkciókról és a Visual Studio letöltéséről és telepítéséről, beleértve az ingyenes Visual Studio Community kiadást is, olvassa el a Visual Studio telepítése című témakört.
- A Visual Studio buildelési eszközei csak a parancssori eszközkészletet, a fordítókat, az eszközöket és a C++ programok létrehozásához szükséges kódtárakat telepítik. Tökéletes tesztkörnyezetek vagy osztálytermi gyakorlatok készítéséhez, és viszonylag gyorsan telepíthető. Ha csak a parancssori eszközkészletet szeretné telepíteni, töltse le a Visual Studio build eszközeit a Visual Studio letöltési oldaláról, és futtassa a telepítőt. A Visual Studio telepítőjében válassza ki a C++ számítási feladattal rendelkező asztali fejlesztést (a Visual Studio régebbi verzióiban válassza ki a C++ buildelési eszközök számítási feladatát), majd válassza a Telepítés lehetőséget.
MSVC fordító
- Az MSVC összetett követelményekkel rendelkezik a parancssori környezethez az általa használt eszközök, fejlécek és kódtárak megkereséséhez. Az MSVC nem használható egyszerű parancssori ablakban előkészítés nélkül. Fejlesztői parancssori ablakra van szüksége, amely egy normál parancssori ablak, amely tartalmazza az összes szükséges környezeti változót. Szerencsére a Visual Studio parancsikonokat telepít a parancssori buildekhez beállított környezettel rendelkező fejlesztői parancssorok indításához. Sajnos a fejlesztői parancssori parancsikonok neve és a tartózkodási helye a Visual Studio szinte minden verziójában és a Windows különböző verzióiban eltérő. Az első útmutató feladata, hogy megtalálja a megfelelő parancsikont.
Megjegyzés:
A fejlesztői parancssori parancsikon automatikusan beállítja a megfelelő elérési utakat a fordítóhoz és az eszközökhöz, valamint a szükséges fejlécekhez és kódtárakhoz. Ezen értékek némelyike különböző az egyes buildkonfigurációk esetében. Ha nem használja az egyik billentyűparancsot, ezeket a környezeti értékeket saját maga kell beállítania. További információ: Az MSVC-eszközkészlet használata a parancssorból. Mivel a buildkörnyezet összetett, javasoljuk, hogy a saját létrehozása helyett használjon fejlesztői parancssori parancsikont.
Ezek az utasítások a Visual Studio használt verziójától függően változnak. A Visual Studio előnyben részesített verziójának dokumentációját a lap tartalomjegyzékének tetején található Verzió választógomb használatával tekintheti meg.
Fejlesztői parancssor megnyitása a Visual Studio 2022-ben
Ha Windows 10 vagy újabb rendszeren telepítette a Visual Studio 2022-t, nyissa meg a Start menüt, és válassza a Minden alkalmazás lehetőséget. Ezután görgessen le, és nyissa meg a Visual Studio 2022 mappát (nem a Visual Studio 2022 alkalmazást). Válassza a VS 2022 fejlesztői parancssorát a parancssori ablak megnyitásához.
Fejlesztői parancssor megnyitása a Visual Studio 2019-ben
Ha Windows 10 vagy újabb rendszeren telepítette a Visual Studio 2019-et, nyissa meg a Start menüt, és válassza a Minden alkalmazás lehetőséget. Ezután görgessen le, és nyissa meg a Visual Studio 2019 mappát (nem a Visual Studio 2019 alkalmazást). Válassza a VS 2019 fejlesztői parancssorát a parancssor ablakának megnyitásához.
Fejlesztői parancssor megnyitása a Visual Studio 2017-ben
Ha Windows 10 vagy újabb rendszeren telepítette a Visual Studio 2017-et, nyissa meg a Start menüt, és válassza a Minden alkalmazás lehetőséget. Ezután görgessen le, és nyissa meg a Visual Studio 2017 mappát (nem a Visual Studio 2017 alkalmazást). Válassza a VS 2017 fejlesztői parancssorát a parancssor ablakának megnyitásához.
Fejlesztői parancssor megnyitása a Visual Studio 2015-ben
Ha Windows 10 vagy újabb rendszeren telepítette a Microsoft Visual C++ Build Tools 2015-öt, nyissa meg a Start menüt, és válassza a Minden alkalmazás lehetőséget. Ezután görgessen le, és nyissa meg a Visual C++ Build Tools mappát. A Parancssor ablak megnyitásához válassza a Visual C++ 2015 x86 natív eszközök parancssorát .
Ha a Windows másik verzióját használja, keresse meg a Start menüben vagy a Start lapon egy Visual Studio-eszközök mappáját, amely egy fejlesztői parancssori parancsikont tartalmaz. A Windows keresési függvény használatával is kereshet fejlesztői parancssort , és kiválaszthatja a Visual Studio telepített verziójának megfelelőt. A parancsikon használatával nyissa meg a parancssori ablakot.
Ezután ellenőrizze, hogy a fejlesztői parancssor megfelelően van-e beállítva. A parancssori ablakban adja meg a cl
(vagy CL
-t, a kis- és nagybetűk nem számítanak a fordító neve esetében, de számítanak a fordító beállításoknál). A kimenetnek így kell kinéznie:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise>cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
A Visual Studio verziójától és a telepített frissítésektől függően eltérések lehetnek az aktuális könyvtárban vagy verziószámokban. Ha az előző kimenet hasonló a látottakhoz, akkor készen áll C vagy C++ programok létrehozására a parancssorban.
Megjegyzés:
Ha olyan hibaüzenetet kap, mint például a "cl" nem ismerhető fel belső vagy külső parancsként, operatív programként vagy kötegfájlként, c1034-hibaként vagy a parancs futtatásakor cl
LNK1104 hibaként, akkor vagy nem használ fejlesztői parancssort, vagy valami nincs rendben a Visual Studio telepítésével. A folytatáshoz ki kell javítania ezt a problémát.
Ha nem találja a fejlesztői parancssor parancsikonját, vagy ha a beíráskor cl
hibaüzenet jelenik meg, akkor a Visual Studio telepítése problémát okozhat. Ha a Visual Studio 2017-et vagy újabb verziót használja, próbálja újratelepíteni az asztali fejlesztést C++ számítási feladattal a Visual Studio telepítőjében. További információ: C++ támogatás telepítése a Visual Studióban. Vagy telepítse újra a buildelési eszközöket a Visual Studio letöltési oldaláról. Ne lépjen tovább a következő szakaszra, amíg a cl
parancs nem működik. A Visual Studio telepítéséről és hibaelhárításáról további információt a Visual Studio telepítése című témakörben talál.
Megjegyzés:
A windowsos számítógép verziójától és a rendszerbiztonsági konfigurációtól függően előfordulhat, hogy a jobb gombbal kattintva meg kell nyitnia a fejlesztői parancssor parancsikonjának helyi menüjét, majd a Futtatás rendszergazdaként lehetőséget választva sikeresen elkészítheti és futtathatja a létrehozott programot az útmutató követésével.
C-forrásfájl létrehozása és fordítása a parancssorban
A fejlesztői parancssori ablakban írja be
cd c:\
, hogy az aktuális munkakönyvtárat a C: meghajtó gyökerére módosítsa. Ezután adja megmd c:\hello
, hogy létrehozzon egy könyvtárat, majd írja becd c:\hello
, hogy az adott könyvtárra váltson. Ez a könyvtár tartalmazza a forrásfájlt és a lefordított programot.Írja be
notepad hello.c
a fejlesztői parancssorba. Az előugró Jegyzettömb riasztás párbeszédpanelen válassza az Igen lehetőséget, ha újhello.c
fájlt szeretne létrehozni a munkakönyvtárban.A Jegyzettömbben adja meg a következő kódsorokat:
#include <stdio.h> int main() { printf("Hello, World! This is a native C program compiled on the command line.\n"); return 0; }
A Jegyzettömb menüsávján válassza a Fájl>mentése lehetőséget a munkakönyvtárba való mentéshez
hello.c
.Váltson vissza a fejlesztői parancssori ablakra. A
dir
könyvtár tartalmának listázásához írja bec:\hello
a parancssorba. A forrásfájlnakhello.c
a könyvtárlistában kell megjelennie, amely a következőképpen néz ki:C:\hello>dir Volume in drive C has no label. Volume Serial Number is CC62-6545 Directory of C:\hello 10/02/2017 03:46 PM <DIR> . 10/02/2017 03:46 PM <DIR> .. 10/02/2017 03:36 PM 143 hello.c 1 File(s) 143 bytes 2 Dir(s) 514,900,566,016 bytes free
A dátumok és egyéb adatok a számítógépen eltérőek lesznek. Ha nem látja a forráskódfájlt, győződjön meg arról,
hello.c
hogy ac:\hello
létrehozott könyvtárra váltott, és a Jegyzettömbben győződjön meg arról, hogy a forrásfájlt ebben a könyvtárban mentette. Győződjön meg arról is, hogy a forráskódot.c
fájlnévkiterjesztéssel mentette, nem pedig.txt
kiterjesztéssel.A program fordításához írja be
cl hello.c
a fejlesztői parancssorba.A végrehajtható program neve
hello.exe
a fordító által megjelenített kimeneti információk soraiban jelenik meg:c:\hello>cl hello.c Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86 Copyright (C) Microsoft Corporation. All rights reserved. hello.c Microsoft (R) Incremental Linker Version 14.10.25017.0 Copyright (C) Microsoft Corporation. All rights reserved. /out:hello.exe hello.obj
Megjegyzés:
Ha olyan hibaüzenetet kap, mint a "cl" nem ismerhető fel belső vagy külső parancsként, operatív programként vagy kötegelt fájlként, C1034-hibaként vagy LNK1104 hibaként, a fejlesztői parancssor nincs megfelelően beállítva. A probléma megoldásáról a Fejlesztői parancssor megnyitása szakaszban talál további információt.
Ha egy másik fordító- vagy linkerhiba vagy figyelmeztetés jelenik meg, tekintse át a forráskódot a hibák kijavításához, majd mentse, és futtassa újra a fordítót. Az egyes hibákról szóló információkért a lap tetején található keresőmezővel keresse meg a hibaszámot.
A program futtatásához írja be
hello
a parancssorba.A program megjeleníti ezt a szöveget, majd kilép:
Hello, World! This is a native C program compiled on the command line.
Gratulálunk, lefordított és futtatott egy C-programot a parancssor használatával.
Speciális lépések
Ez a Hello, World példa körülbelül olyan egyszerű, mint egy C program kaphat. A valós programok fejlécfájlokkal és több forrásfájllal rendelkeznek, kódtárakban találhatók hivatkozások, és hasznos munkát végezhetnek.
Az útmutató lépéseit követve saját C-kódot hozhat létre ahelyett, hogy beírná a megjelenő mintakódot. Számos C-kód mintaprogramot is létrehozhat, amelyeket máshol talál. Ha több forráskódfájlt tartalmazó programot szeretne lefordítani, írja be őket a parancssorba:
cl file1.c file2.c file3.c
A fordító egy file1.exe
nevű programot hoz létre. A név módosításához program1.exe
adjon hozzá egy /out linker opciót:
cl file1.c file2.c file3.c /link /out:program1.exe
További programozási hibák automatikus észlelése érdekében azt javasoljuk, hogy a /W3 vagy /W4 figyelmeztetési szint beállításával fordítson:
cl /W4 file1.c file2.c file3.c /link /out:program1.exe
A fordító cl.exe
számos további lehetőséget kínál a kód összeállítására, optimalizálására, hibakeresésére és elemzésére. A gyors lista megjelenítéséhez írja be cl /?
a fejlesztői parancssorban. Összetettebb fordítási forgatókönyvekben a fordítást és linkelést külön-külön is elvégezheti, és alkalmazhatja a linkelési beállításokat. A fordító és linker beállításaival és használatával kapcsolatos további információkért lásd a C/C++ építési referenciát.
Az NMAKE és a makefile- vagy MSBuild- és projektfájlok használatával összetettebb projekteket konfigurálhat és hozhat létre a parancssorban. További információ az eszközök használatáról: NMAKE-referencia és MSBuild.
A C és a C++ nyelvek hasonlóak, de nem azonosak. Az MSVC fordító egy alapvető szabályt használ annak meghatározásához, hogy melyik nyelvet használja a kód lefordításakor. Az MSVC fordító alapértelmezés szerint C forráskódként kezeli az összes fájlt .c
, és az összes olyan fájlt, amely C++ forráskódként végződik .cpp
. Ha azt szeretné, hogy a fordító az összes fájlt C-ként kezelje a fájlnévkiterjesztéstől függetlenül, használja a /TC fordító lehetőséget.
Alapértelmezés szerint az MSVC kompatibilis az ANSI C89 és ISO C99 szabványokkal, de nem szigorúan megfelelő. A legtöbb esetben a hordozható C-kód a várt módon lefordul és fut. A fordító opcionális támogatást nyújt az ISO C11 és A C17 változásaihoz. C11 és C17 támogatással történő fordításhoz használja a fordító jelölőt /std:c11
vagy /std:c17
. A C11 és A C17 használatához a Windows SDK 10.0.20201.0-s vagy újabb verziója szükséges. A Windows SDK 10.0.22000.0-s vagy újabb verziója ajánlott. A legújabb SDK-t a Windows SDK oldaláról töltheti le. Az SDK c-fejlesztéshez való telepítésével és használatával kapcsolatos további információkért és utasításokért lásd: C11 és C17 telepítése a Visual Studióban.
Bizonyos könyvtárfüggvényeket és POSIX-függvényneveket az MSVC elavultnak minősít. A függvények támogatottak, de a preferált nevek megváltoztak. Lásd: Biztonsági funkciók a CRT-ben és Fordító figyelmeztetése (3. szint) C4996.