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í clzobrazí 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 pravým tlačítkem myši otevřít místní nabídku zástupce příkazového řádku vývojáře a potom zvolit Spustit jako Správa istrator úspěšně sestavit a spustit program, který vytvoříte podle tohoto návodu.

Vytvoření zdrojového souboru jazyka C a jeho kompilace na příkazovém řádku

  1. 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 zadejte md c:\hello , chcete-li vytvořit adresář, a pak zadejte cd c:\hello , chcete-li tento adresář změnit. Tento adresář bude obsahovat zdrojový soubor a zkompilovaný program.

  2. Zadejte notepad hello.c na příkazovém řádku vývojáře. V dialogovém okně upozornění Poznámkový blok, které se zobrazí, zvolte Ano a vytvořte v pracovním adresáři nový hello.c soubor.

  3. Do Poznámkový blok 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;
    }
    
  4. Na řádku nabídek Poznámkový blok zvolte Uložit soubor>a uložte hello.c ho do pracovního adresáře.

  5. Přepněte zpět do okna příkazového řádku pro vývojáře. Do příkazového řádku zadejte dir seznam obsahu c:\hello adresáře. Ve výpisu adresáře by se měl zobrazit zdrojový soubor hello.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ěnili c:\hello adresář, který jste vytvořili, a v Poznámkový blok 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 .

  6. Pokud chcete program zkompilovat, zadejte cl hello.c na příkazovém řádku vývojáře.

    Název spustitelného programu hello.exe můžete zobrazit 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.

  7. 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