Návod: Kompilace programu C v příkazovém řádku
Nástroje sestavení sady Visual Studio zahrnují kompilátor jazyka C, který můžete použít k vytvoření všeho od základních konzolových programů až po úplné desktopové aplikace windows, mobilní aplikace a další. Microsoft C/C++ (MSVC) je kompilátor C a C++, který v nejnovějších verzích odpovídá některým nejnovějším standardům jazyka C, včetně C11 a C17.
Tento názorný postup ukazuje, jak pomocí textového editoru vytvořit základní program ve stylu "Hello, World" a pak ho zkompilovat na příkazovém řádku. Pokud chcete raději pracovat v jazyce C++ na příkazovém řádku, přečtěte si téma Návod: Kompilace nativního programu C++ na příkazovém řádku. Pokud chcete místo použití příkazového řádku vyzkoušet integrované vývojové prostředí sady Visual Studio, přečtěte si téma Návod: Práce s projekty a řešeními (C++) nebo Použití integrovaného vývojového prostředí sady Visual Studio pro vývoj desktopových aplikací jazyka C++.
Požadavky
K dokončení tohoto návodu musíte mít nainstalovanou sadu Visual Studio nebo Build Tools for Visual Studio a volitelný vývoj desktopových aplikací pomocí úlohy C++.
Visual Studio je výkonné integrované vývojové prostředí, které podporuje plnohodnotný editor, správce prostředků, ladicí programy a kompilátory pro mnoho jazyků a platforem. Informace o těchto funkcích a o tom, jak stáhnout a nainstalovat Visual Studio, včetně bezplatné edice Visual Studio Community, najdete v tématu Instalace sady Visual Studio.
Build Tools for Visual Studio verze sady Visual Studio nainstaluje pouze sadu nástrojů příkazového řádku, kompilátory, nástroje a knihovny, které potřebujete k sestavení programů jazyka C a C++. Je ideální pro sestavení cvičení nebo cvičení v učebnách a poměrně rychle se instaluje. Pokud chcete nainstalovat jenom sadu nástrojů příkazového řádku, stáhněte si nástroje Build Tools for Visual Studio ze stránky pro stažení sady Visual Studio a spusťte instalační program. V instalačním programu sady Visual Studio vyberte úlohu Vývoj desktopových aplikací pomocí jazyka C++ (ve starších verzích sady Visual Studio, vyberte úlohu nástrojů sestavení jazyka C++) a zvolte Nainstalovat.
Po instalaci nástrojů je na příkazovém řádku další nástroj, který použijete k sestavení programu C nebo C++. MSVC má složité požadavky pro prostředí příkazového řádku k vyhledání nástrojů, hlaviček a knihoven, které používá. MsVC nemůžete použít v okně příkazového řádku bez přípravy. Potřebujete okno příkazového řádku pro vývojáře, což je běžné okno příkazového řádku, které má nastavené všechny požadované proměnné prostředí. Sada Visual Studio naštěstí nainstaluje klávesové zkratky pro spuštění příkazového řádku pro vývojáře, které mají prostředí nastavené pro sestavení příkazového řádku. Názvy zástupců příkazového řádku pro vývojáře a jejich umístění se bohužel liší téměř ve všech verzích sady Visual Studio a v různých verzích Windows. Vaším prvním návodem je najít správnou klávesovou zkratku, která se má použít.
Poznámka:
Zástupce příkazového řádku vývojáře automaticky nastaví správné cesty pro kompilátor a nástroje a pro všechny požadované hlavičky a knihovny. Některé z těchto hodnot se pro každou konfiguraci sestavení liší. Tyto hodnoty prostředí musíte nastavit sami, pokud nepoužíváte některou z klávesových zkratek. Další informace naleznete v tématu Použití sady nástrojů MSVC z příkazového řádku. Vzhledem k tomu, že prostředí sestavení je složité, důrazně doporučujeme místo vytváření vlastních příkazů použít zástupce příkazového řádku pro vývojáře.
Tyto pokyny se liší podle toho, jakou verzi sady Visual Studio používáte. Pokud chcete zobrazit dokumentaci pro upřednostňovanou verzi sady Visual Studio, použijte ovládací prvek selektoru verzí . Nachází se v horní části obsahu na této stránce.
Otevření příkazového řádku vývojáře v sadě Visual Studio 2022
Pokud jste nainstalovali Visual Studio 2022 ve Windows 10 nebo novějším, otevřete nabídka Start a zvolte Všechny aplikace. Pak se posuňte dolů a otevřete složku sady Visual Studio 2022 (ne aplikaci Visual Studio 2022). Zvolte Příkazový řádek pro vývojáře pro VS 2022 a otevřete okno příkazového řádku.
Otevření příkazového řádku pro vývojáře v sadě Visual Studio 2019
Pokud jste nainstalovali Visual Studio 2019 ve Windows 10 nebo novějším, otevřete nabídka Start a zvolte Všechny aplikace. Pak se posuňte dolů a otevřete složku sady Visual Studio 2019 (ne aplikaci Visual Studio 2019). Zvolte Příkazový řádek pro vývojáře pro VS 2019 a otevřete okno příkazového řádku.
Otevření příkazového řádku vývojáře v sadě Visual Studio 2017
Pokud jste nainstalovali Visual Studio 2017 ve Windows 10 nebo novějším, otevřete nabídka Start a zvolte Všechny aplikace. Pak se posuňte dolů a otevřete složku sady Visual Studio 2017 (ne aplikaci Visual Studio 2017). Zvolte Příkazový řádek pro vývojáře pro VS 2017 a otevřete okno příkazového řádku.
Otevření příkazového řádku vývojáře v sadě Visual Studio 2015
Pokud jste nainstalovali nástroje Microsoft Visual C++ Build Tools 2015 ve Windows 10 nebo novějším, otevřete nabídka Start a zvolte Všechny aplikace. Pak se posuňte dolů a otevřete složku Visual C++ Build Tools . Příkazový řádek nativních nástrojů jazyka Visual C++ 2015 x86 otevřete okno příkazového řádku.
Pokud používáte jinou verzi Windows, vyhledejte na nabídka Start nebo na úvodní stránce složku nástrojů sady Visual Studio, která obsahuje zástupce příkazového řádku vývojáře. Funkci vyhledávání ve Windows můžete použít také k vyhledání příkazového řádku pro vývojáře a k výběru toho, který odpovídá vaší nainstalované verzi sady Visual Studio. Pomocí zástupce otevřete okno příkazového řádku.
Dále ověřte, že je příkazový řádek vývojáře správně nastavený. V okně příkazového řádku zadejte cl
(nebo CL
, velká a malá písmena nezáleží na názvu kompilátoru, ale záleží na možnostech kompilátoru). Výstup by měl vypadat přibližně takto:
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... ]
V aktuálním adresáři nebo číslech verzí můžou být rozdíly v závislosti na verzi sady Visual Studio a všech nainstalovaných aktualizacích. Pokud je výše uvedený výstup podobný tomu, co vidíte, můžete na příkazovém řádku sestavit programy jazyka C nebo C++.
Poznámka:
Pokud se zobrazí chyba typu Cl není rozpoznána jako interní nebo externí příkaz, spustitelný program nebo dávkový soubor, chyba C1034 nebo chyba LNK1104 při spuštění příkazu cl , pak buď nepoužíváte příkazový řádek vývojáře, nebo je něco špatně s instalací sady Visual Studio. Než budete moct pokračovat, musíte tento problém vyřešit.
Pokud nemůžete najít zástupce příkazového řádku pro vývojáře nebo pokud se při zadávání cl
zobrazí chybová zpráva, může instalace sady Visual Studio mít problém. Pokud používáte Visual Studio 2017 nebo novější, zkuste přeinstalovat vývoj desktopových aplikací pomocí úlohy C++ v instalačním programu sady Visual Studio. Podrobnosti najdete v tématu Instalace podpory jazyka C++ v sadě Visual Studio. Nebo přeinstalujte Nástroje sestavení ze stránky pro stahování sady Visual Studio. Nepřechávejte k další části, dokud cl
příkaz nebude fungovat. Další informace o instalaci a řešení potíží se sadou Visual Studio naleznete v tématu Instalace sady Visual Studio.
Poznámka:
V závislosti na verzi systému Windows v počítači a konfiguraci zabezpečení systému možná budete muset kliknout pravým tlačítkem myši, abyste otevřeli místní nabídku zástupce příkazového řádku pro vývojáře a potom zvolte Spustit jako správce a úspěšně sestavte a spusťte program, který vytvoříte podle tohoto návodu.
Vytvoření zdrojového souboru jazyka C a jeho kompilace na příkazovém řádku
V okně příkazového řádku vývojáře zadejte
cd c:\
, aby se aktuální pracovní adresář změnil na kořen jednotky C: . Dále zadejtemd c:\hello
, chcete-li vytvořit adresář, a pak zadejtecd c:\hello
, chcete-li tento adresář změnit. Tento adresář bude obsahovat zdrojový soubor a zkompilovaný program.Zadejte
notepad hello.c
na příkazovém řádku vývojáře. V dialogovém okně upozornění poznámkového bloku, které se zobrazí, zvolte Ano a vytvořte v pracovním adresáři novýhello.c
soubor.V Poznámkovém bloku zadejte následující řádky kódu:
#include <stdio.h> int main() { printf("Hello, World! This is a native C program compiled on the command line.\n"); return 0; }
Na řádku nabídek Poznámkového bloku zvolte Uložit soubor>a uložte
hello.c
ho do pracovního adresáře.Přepněte zpět do okna příkazového řádku pro vývojáře. Do příkazového řádku zadejte
dir
seznam obsahuc:\hello
adresáře. Ve výpisu adresáře by se měl zobrazit zdrojový souborhello.c
, který vypadá nějak takto: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
Data a další podrobnosti se budou v počítači lišit. Pokud soubor zdrojového kódu nevidíte, ujistěte se,
hello.c
že jste změnilic:\hello
adresář, který jste vytvořili, a v Poznámkovém bloku se ujistěte, že jste zdrojový soubor uložili do tohoto adresáře. Ujistěte se také, že jste zdrojový kód uložili s příponou.c
názvu souboru, nikoli s příponou.txt
.Pokud chcete program zkompilovat, zadejte
cl hello.c
na příkazovém řádku vývojáře.Název spustitelného programu můžete zobrazit hello.exe v řádcích výstupních informací, které kompilátor zobrazí:
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
Poznámka:
Pokud se zobrazí chyba typu cl není rozpoznána jako interní nebo externí příkaz, spustitelný program nebo dávkový soubor, chyba C1034 nebo chyba LNK1104, příkazový řádek pro vývojáře není správně nastavený. Informace o tom, jak tento problém vyřešit, najdete v části Otevřít vývojářský příkazový řádek .
Pokud se zobrazí jiná chyba kompilátoru nebo linkeru nebo upozornění, zkontrolujte zdrojový kód a opravte případné chyby, uložte ho a spusťte kompilátor znovu. Informace o konkrétních chybách najdete pomocí vyhledávacího pole v horní části této stránky.
Pokud chcete program spustit, zadejte
hello
do příkazového řádku.Program zobrazí tento text a ukončí:
Hello, World! This is a native C program compiled on the command line.
Blahopřejeme, zkompilovali jste a spustili program jazyka C pomocí příkazového řádku.
Další kroky
Tento příklad "Hello, World" je asi tak základní jako program C může získat. Skutečné programy mají hlavičkové soubory a další zdrojové soubory, odkazy v knihovnách a dělají užitečnou práci.
Kroky v tomto názorném postupu můžete použít k vytvoření vlastního kódu jazyka C místo psaní zobrazeného ukázkového kódu. Můžete také vytvořit mnoho ukázkových programů kódu jazyka C, které najdete jinde. Pokud chcete zkompilovat program, který obsahuje více souborů zdrojového kódu, zadejte je všechny na příkazovém řádku:
cl file1.c file2.c file3.c
Kompilátor vypíše program s názvem file1.exe
. Pokud chcete změnit název na program1.exe
, přidejte možnost linkeru /out :
cl file1.c file2.c file3.c /link /out:program1.exe
A pokud chcete zachytit více programovacích chyb automaticky, doporučujeme zkompilovat pomocí možnosti upozornění /W3 nebo /W4 :
cl /W4 file1.c file2.c file3.c /link /out:program1.exe
Kompilátor, cl.exe, má mnoho dalších možností, které můžete použít pro sestavení, optimalizaci, ladění a analýzu kódu. Rychlý seznam zobrazíte tak, že zadáte cl /?
příkazový řádek pro vývojáře. V složitějších scénářích sestavení můžete také kompilovat a odkazovat samostatně a použít možnosti linkeru. Další informace o možnostech kompilátoru a použití linkeru najdete v tématu Referenční dokumentace k sestavení jazyka C/C++.
Ke konfiguraci a sestavování složitějších projektů na příkazovém řádku můžete použít nástroje NMAKE a soubory pravidel nebo soubory projektu MSBuild. Další informace o použití těchto nástrojů naleznete v tématu NMAKE Reference a MSBuild.
Jazyky C a C++ jsou podobné, ale ne stejné. Kompilátor jazyka Microsoft C/C++ (MSVC) používá základní pravidlo k určení jazyka, který se má použít při kompilaci kódu. Kompilátor MSVC ve výchozím nastavení považuje všechny soubory, které končí .c
jako zdrojový kód jazyka C, a všechny soubory, které končí .cpp
jako zdrojový kód jazyka C++. Chcete-li vynutit, aby kompilátor zpracovával všechny soubory jako S bez ohledu na příponu názvu souboru, použijte možnost kompilátoru /TC .
Ve výchozím nastavení je MSVC kompatibilní s standardy ANSI C89 a ISO C99, ale není zcela v souladu. Ve většině případů se přenosný kód jazyka C zkompiluje a spustí podle očekávání. Kompilátor poskytuje volitelnou podporu pro změny v ISO C11/C17. K kompilaci s podporou C11/C17 použijte příznak /std:c11
kompilátoru nebo /std:c17
. Podpora C11/C17 vyžaduje sadu Windows SDK 10.0.20201.0 nebo novější. Doporučuje se sada Windows SDK 10.0.22000.0 nebo novější. Nejnovější sadu SDK si můžete stáhnout ze stránky sady Windows SDK . Další informace a pokyny k instalaci a použití této sady SDK pro vývoj jazyka C najdete v tématu Instalace podpory C11 a C17 v sadě Visual Studio.
Některé funkce knihovny a názvy funkcí POSIX jsou v MSVC zastaralé. Funkce jsou podporované, ale upřednostňované názvy se změnily. Další informace naleznete v tématu Funkce zabezpečení v CRT a Upozornění kompilátoru (úroveň 3) C4996.
Viz také
Návod: Vytvoření programu ve standardním C++ (C++)
Referenční dokumentace jazyka C
Projekty a systémy sestavení
Kompatibilita