Dela via


Genomgång: Kompilera ett C-program på kommandoraden

Visual Studio-byggverktygen innehåller en C-kompilator som du kan använda för att skapa allt från grundläggande konsolprogram till fullständiga Windows-skrivbordsprogram och mobilappar. Microsoft C/C++ (MSVC) är en C- och C++-kompilator som i sina senaste versioner överensstämmer med några av de senaste C-språkstandarderna, inklusive C11 och C17.

Den här guiden beskriver hur du skapar ett grundläggande Hello- och World-style C-program med hjälp av en textredigerare och sedan kompilerar det på kommandoraden. Om du hellre vill arbeta i C++ på kommandoraden kan du läsa Genomgång: Kompilera ett internt C++-program på kommandoraden. Om du vill prova Visual Studio IDE i stället för att använda kommandoraden läser du Genomgång: Arbeta med projekt och lösningar (C++) eller Använda Visual Studio IDE för C++ Desktop Development.

Förutsättningar

  • Antingen Visual Studio eller byggverktygen för Visual Studio och Skrivbordsutveckling med C++- arbetsbelastning

    • Visual Studio är en kraftfull integrerad utvecklingsmiljö som stöder en fullfjädrad redigerare, resurshanterare, felsökningsprogram och kompilatorer för många språk och plattformar. Information om dessa funktioner och hur du laddar ned och installerar Visual Studio, inklusive den kostnadsfria Visual Studio Community-utgåvan, finns i Installera Visual Studio.
    • Byggverktygen för Visual Studio installerar endast kommandoradsverktygen, kompilatorerna, verktygen och biblioteken som du behöver för att skapa C- och C++-program. Det är perfekt för att bygga labb eller klassrumsövningar och installeras relativt snabbt. Om du bara vill installera kommandoradsverktygsuppsättningen laddar du ned byggverktyg för Visual Studio från sidan För nedladdning av Visual Studio och kör installationsprogrammet. I Installationsprogrammet för Visual Studio väljer du Skrivbordsutveckling med C++ -arbetsbelastning (i äldre versioner av Visual Studio väljer du arbetsbelastningen C++-byggverktyg ) och väljer Installera.
  • MSVC-kompilator

    • MSVC har komplexa krav för kommandoradsmiljön för att hitta de verktyg, rubriker och bibliotek som används. Du kan inte använda MSVC i ett vanligt kommandotolksfönster utan någon förberedelse. Du behöver ett kommandotolkfönster för utvecklare , som är ett vanligt kommandotolksfönster som har alla nödvändiga miljövariabler inställda. Lyckligtvis installerar Visual Studio genvägar så att du kan starta kommandopromptar med utvecklarinställningar som har miljön konfigurerad för kommandoradsbyggen. Tyvärr skiljer sig namnen på genvägarna för kommandotolken för utvecklare och var de finns i nästan alla versioner av Visual Studio och i olika versioner av Windows. Din första genomgångsuppgift är att hitta rätt genväg att använda.

Anmärkning

En genväg till kommandotolken för utvecklare anger automatiskt rätt sökvägar för kompilatorn och verktygen och för alla nödvändiga rubriker och bibliotek. Vissa av dessa värden skiljer sig åt för varje byggkonfiguration. Du måste ange dessa miljövärden själv om du inte använder någon av genvägarna. Mer information finns i Använda MSVC-verktygsuppsättningen från kommandoraden. Eftersom byggmiljön är komplex rekommenderar vi starkt att du använder en genväg till kommandotolken för utvecklare i stället för att skapa en egen.

De här instruktionerna varierar beroende på vilken version av Visual Studio du använder. Om du vill se dokumentationen för den önskade versionen av Visual Studio använder du väljaren Version längst upp i innehållsförteckningen på den här sidan.

Öppna en kommandotolk för utvecklare i Visual Studio 2022

Om du har installerat Visual Studio 2022 på Windows 10 eller senare öppnar du Start-menyn och väljer Alla appar. Rulla sedan nedåt och öppna mappen Visual Studio 2022 (inte Visual Studio 2022-appen). Välj Utvecklarkommandotolken för VS 2022 för att öppna kommandotolken.

Öppna utvecklarkommandotolken i Visual Studio 2019

Om du har installerat Visual Studio 2019 på Windows 10 eller senare öppnar du Start-menyn och väljer Alla appar. Rulla sedan nedåt och öppna mappen Visual Studio 2019 (inte Visual Studio 2019-appen). Välj Kommandotolken för utvecklare för VS 2019 för att öppna kommandotolksfönstret.

Öppna en utvecklarkommandotolk i Visual Studio 2017

Om du har installerat Visual Studio 2017 på Windows 10 eller senare öppnar du Start-menyn och väljer Alla appar. Rulla sedan nedåt och öppna mappen Visual Studio 2017 (inte Visual Studio 2017-appen). Välj Kommandotolken för utvecklare för VS 2017 för att öppna kommandotolksfönstret.

Öppna en kommandotolk för utvecklare i Visual Studio 2015

Om du har installerat Microsoft Visual C++ Build Tools 2015 på Windows 10 eller senare öppnar du Start-menyn och väljer Alla appar. Rulla sedan nedåt och öppna mappen Visual C++ Build Tools . Välj Visual C++ 2015 x86 Native Tools Kommandotolksfönstret för att öppna kommandotolken.

Om du använder en annan version av Windows kan du leta efter en Visual Studio-verktygsmapp i Start-menyn eller Start-sidan som innehåller en genväg till kommandotolken för utvecklare. Du kan också använda Windows-sökfunktionen för att söka efter kommandotolken för utvecklare och välja en som matchar den installerade versionen av Visual Studio. Använd genvägen för att öppna kommandotolken.

Kontrollera sedan att kommandotolken för utvecklare är korrekt konfigurerad. I kommandotolken anger du cl (eller CL, det gör ingen skillnad för kompilatorns namn, men det spelar roll för kompilatoralternativ). Utdata bör se ut ungefär så här:

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

Det kan finnas skillnader i aktuella katalog- eller versionsnummer, beroende på versionen av Visual Studio och eventuella installerade uppdateringar. Om föregående utdata liknar det du ser är du redo att skapa C- eller C++-program på kommandoraden.

Anmärkning

Om du får ett fel som "cl" inte identifieras som ett internt eller externt kommando, ett fungerande program eller en batchfil, fel C1034 eller ett fel LNK1104 när du kör cl kommandot använder du antingen inte en kommandotolk för utvecklare eller så är något fel med installationen av Visual Studio. Du måste åtgärda problemet innan du kan fortsätta.

Om du inte hittar genvägen till kommandotolken för utvecklare eller om du får ett felmeddelande när du anger clkan visual studio-installationen ha ett problem. Om du använder Visual Studio 2017 eller senare kan du prova att installera om skrivbordsutvecklingen med C++ -arbetsbelastningen i Visual Studio-installationsprogrammet. Mer information finns i Installera C++-stöd i Visual Studio. Du kan också installera om byggverktygen från nedladdningssidan för Visual Studio . Gå inte vidare till nästa avsnitt förrän cl kommandot fungerar. Mer information om hur du installerar och felsöker Visual Studio finns i Installera Visual Studio.

Anmärkning

Beroende på vilken version av Windows som finns på datorn och systemsäkerhetskonfigurationen kan du behöva högerklicka för att öppna snabbmenyn för kommandotolken för utvecklare och sedan välja Kör som administratör för att skapa och köra programmet som du skapar genom att följa den här genomgången.

Skapa en C-källfil och kompilera den på kommandoraden

  1. I kommandotolken för utvecklare anger du cd c:\ för att ändra den aktuella arbetskatalogen till roten på C:-enheten. Ange sedan md c:\hello för att skapa en katalog och sedan ange cd c:\hello för att ändra till den katalogen. Den här katalogen innehåller källfilen och det kompilerade programmet.

  2. Ange notepad hello.c i kommandotolken för utvecklare. I dialogrutan Anteckningar som visas väljer du Ja för att skapa en ny hello.c fil i arbetskatalogen.

  3. Öppna Anteckningar och ange följande kodrader:

    #include <stdio.h>
    
    int main()
    {
        printf("Hello, World! This is a native C program compiled on the command line.\n");
        return 0;
    }
    
  4. På menyraden Anteckningar väljer du Spara fil> för att spara hello.c i arbetskatalogen.

  5. Växla tillbaka till kommandotolken för utvecklare. Ange dir i kommandotolken för att visa innehållet i c:\hello katalogen. Du bör se källfilen hello.c i kataloglistan, som ser ut ungefär så här:

    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
    
    

    Datumen och annan information skiljer sig åt på datorn. Om du inte ser källkodsfilen hello.ckontrollerar du att du har ändrat till den c:\hello katalog som du skapade och i Anteckningar kontrollerar du att du har sparat källfilen i den här katalogen. Kontrollera också att du har sparat källkoden med filnamnstillägget .c , inte ett .txt tillägg.

  6. För att kompilera ditt program, ange cl hello.c på utvecklarkommandotolken.

    Du kan se det körbara programnamnet , hello.exei raderna med utdatainformation som kompilatorn visar:

    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
    

    Anmärkning

    Om du får ett fel som "cl" inte identifieras som ett internt eller externt kommando, ett fungerande program eller en batchfil, fel C1034 eller fel LNK1104, är kommandotolken för utvecklare inte korrekt konfigurerad. För information om hur du åtgärdar det här problemet, gå tillbaka till avsnittet Öppna en utvecklarkommandotolk.

    Om du får ett annat kompilator- eller länkfel eller en varning granskar du källkoden för att korrigera eventuella fel och sparar den och kör kompilatorn igen. Om du vill ha information om specifika fel använder du sökrutan överst på den här sidan för att leta efter felnumret.

  7. Om du vill köra programmet anger du hello i kommandotolken.

    Programmet visar denna text och avslutas sedan.

    Hello, World! This is a native C program compiled on the command line.
    

    Grattis, du har kompilerat och kört ett C-program med hjälp av kommandoraden.

Avancerade steg

Det här Hello World-exemplet är ungefär så grundläggande som ett C-program kan få. Verkliga program har huvudfiler och fler källfiler, länkar i bibliotek och utför användbart arbete.

Du kan använda stegen i den här genomgången för att skapa din egen C-kod i stället för att skriva den exempelkod som visas. Du kan också skapa många C-kodexempelprogram som du hittar någon annanstans. Om du vill kompilera ett program som har fler källkodsfiler anger du alla på kommandoraden:

cl file1.c file2.c file3.c

Kompilatorn matar ut ett program med namnet file1.exe. För att ändra namnet till program1.exe lägger du till länkerval /out:

cl file1.c file2.c file3.c /link /out:program1.exe

För att fånga fler programmeringsfel automatiskt rekommenderar vi att du kompilerar med hjälp av varningsnivån /W3 eller /W4 :

cl /W4 file1.c file2.c file3.c /link /out:program1.exe

Kompilatorn, cl.exe, har många fler alternativ som du kan använda för att skapa, optimera, felsöka och analysera koden. Om du vill ha en snabblista anger du cl /? i kommandotolken för utvecklare. Du kan också kompilera och länka separat och använda länkalternativ i mer komplexa byggscenarier. Mer information om alternativ och användning av kompilatorer och länkare finns i C/C++-byggnadsreferens.

Du kan använda NMAKE- och makefiles eller MSBuild- och projektfiler för att konfigurera och skapa mer komplexa projekt på kommandoraden. Mer information om hur du använder dessa verktyg finns i NMAKE-referens och MSBuild.

Språken C och C++ är liknande, men inte samma. MSVC-kompilatorn använder en grundläggande regel för att avgöra vilket språk som ska användas när koden kompileras. Som standard behandlar MSVC-kompilatorn alla filer som slutar .c som C-källkod och alla filer som slutar .cpp som C++-källkod. Om du vill tvinga kompilatorn att behandla alla filer som C oavsett filnamnstillägget använder du kompileringsalternativet /TC .

Som standard är MSVC kompatibelt med ANSI C89- och ISO C99-standarderna, men inte strikt kompatibelt. I de flesta fall kompileras och körs portabel C-kod som förväntat. Kompilatorn ger valfritt stöd för ändringarna i ISO C11 och C17. Om du vill kompilera med C11- och C17-stöd använder du kompilatorflaggan /std:c11 eller /std:c17. Stöd för C11 och C17 kräver Windows SDK 10.0.20201.0 eller senare. Windows SDK 10.0.22000.0 eller senare rekommenderas. Du kan ladda ned den senaste SDK:en från Windows SDK-sidan . Mer information och instruktioner om hur du installerar och använder denna SDK för C-utveckling finns i Installera C11- och C17-stöd i Visual Studio.

Vissa biblioteksfunktioner och POSIX-funktionsnamn är inaktuella av MSVC. Funktionerna stöds, men de önskade namnen har ändrats. Mer information finns i Säkerhetsfunktioner i CRT och Kompilatorvarning (nivå 3) C4996.

Se även