Exemplarische Vorgehensweise: Kompilieren eines C-Programms in der Befehlszeile

Visual C++ enthält einen C-Compiler, mit dem Sie alles von grundlegenden Konsolenprogrammen bis hin zu Windows-Desktopanwendungen, mobilen Apps und mehr erstellen können.

In dieser exemplarischen Vorgehensweise erfahren Sie, wie Sie ein grundlegendes C++-Programm im „Hello World!“-Stil mithilfe eines Text-Editors erstellen und dieses dann über die Befehlszeile kompilieren. Wenn Sie lieber über die Befehlszeile in C++ arbeiten, finden Sie weitere Informationen unter Walkthrough: Compiling a Native C++ Program on the Command Line (Exemplarische Vorgehensweise: Kompilieren eines nativen C++-Programms in der Befehlszeile). Wenn Sie die Visual Studio-IDE testen möchten, anstatt die Befehlszeile zu verwenden, finden Sie weitere Informationen unter Exemplarische Vorgehensweise: Arbeiten mit Projekten und Projektmappen ( C++ ) oder Verwenden der Visual Studio-IDE für die C++-Desktopentwicklung.

Voraussetzungen

Für die Durchführung dieser exemplarischen Vorgehensweise müssen entweder Visual Studio und die optionalen Visual C++-Komponenten oder die Buildtools für Visual Studio installiert sein.

Visual Studio ist eine leistungsstarke integrierte Entwicklungsumgebung, die einen voll funktionsfähigen Editor, Ressourcen-Manager, Debugger und Compiler für viele Sprachen und Plattformen unterstützt. Weitere Informationen zu diesen Features und zum Herunterladen und Installieren von Visual Studio, einschließlich der kostenlosen Visual Studio Community-Edition, finden Sie unter Installieren von Visual Studio.

Die Buildtools für Visual Studio installieren nur das Befehlszeilen-Toolset, die Compiler, Tools und Bibliotheken, die Sie benötigen, um C- und C++-Programme zu erstellen. Sie eignen sich ideal für Buildlabs oder Übungen im Schulungskontext und werden schnell installiert. Laden Sie von der Seite für Visual Studio-Downloads die Buildtools für Visual Studio herunter, um nur das Befehlszeilen-Toolset zu installieren, und führen Sie das Installationsprogramm aus. Wählen Sie im Visual Studio-Installationsprogramm die Workload C++-Buildtools und anschließend Installieren aus.

Überprüfen Sie, ob die Tools installiert sind und Sie über die Befehlszeile darauf zugreifen können, bevor Sie ein C- oder C++-Programm über die Befehlszeile erstellen. Visual C++ hat komplexe Anforderungen an die Befehlszeilenumgebung hinsichtlich der Suche nach den verwendeten Tools, Headern und Bibliotheken. Sie können Visual C++ nicht in einem einfachen Eingabeaufforderungsfenster ohne bestimmte Vorbereitungen verwenden. Sie benötigen ein Developer-Eingabeaufforderung-Fenster, das ein reguläres Eingabeaufforderungsfenster ist, in dem alle erforderlichen Umgebungsvariablen festgelegt sind. Glücklicherweise installiert Visual C++ Verknüpfungen zum Starten einer Developer-Eingabeaufforderung, in der die Umgebung für Befehlszeilenbuilds eingerichtet ist. Leider unterscheiden sich die Namen der Verknüpfungen für die Developer-Eingabeaufforderung und deren Position in nahezu jeder Version von Visual C++ und unterschiedlichen Versionen von Windows. Ihre erste Aufgabe bei der exemplarischen Vorgehensweise besteht darin, die richtige Verknüpfung zu finden.

Hinweis

Eine Verknüpfung für die Developer-Eingabeaufforderung legt die richtigen Pfade für den Compiler und die Tools sowie für alle erforderlichen Header und Bibliotheken automatisch fest. Einige dieser Werte unterscheiden sich für jede Buildkonfiguration. Sie müssen diese Umgebungswerte selbst festlegen, wenn Sie keine der Verknüpfungen verwenden. Weitere Informationen finden Sie unter Verwenden des MSVC-Toolsets über die Befehlszeile. Da die Buildumgebung komplex ist, wird dringend empfohlen, eine Verknüpfung zu einer Developer-Eingabeaufforderung zu verwenden, anstatt ihre eigenen Verknüpfung zu erstellen.

Die Anweisungen variieren, je nachdem, welche Version von Visual Studio Sie verwenden. Um die Dokumentation für Ihre bevorzugte Version von Visual Studio anzuzeigen, verwenden Sie das Auswahlsteuerelement Version. Es befindet sich am Anfang des Inhaltsverzeichnisses auf dieser Seite.

Öffnen einer Developer-Eingabeaufforderung in Visual Studio 2022

Öffnen Sie das Startmenü, und klicken Sie auf Alle Apps, wenn Sie Visual Studio 2022 unter Windows 10 oder höher installiert haben. Scrollen Sie anschließend nach unten, und öffnen Sie den Ordner Visual Studio 2022 (nicht die Visual Studio 2022-App). Klicken Sie auf Developer Command Prompt for VS 2022 (Developer-Eingabeaufforderung für VS 2022), um das Eingabeaufforderungsfenster zu öffnen.

Öffnen einer Developer-Eingabeaufforderung in Visual Studio 2019

Öffnen Sie das Startmenü, und klicken Sie auf Alle Apps, wenn Sie Visual Studio 2019 unter Windows 10 oder höher installiert haben. Scrollen Sie anschließend nach unten, und öffnen Sie den Ordner Visual Studio 2019 (nicht die Visual Studio 2019-App). Klicken Sie auf Developer Command Prompt for VS 2019 (Developer-Eingabeaufforderung für VS 2019), um das Eingabeaufforderungsfenster zu öffnen.

Öffnen einer Developer-Eingabeaufforderung in Visual Studio 2017

Öffnen Sie das Startmenü, und klicken Sie auf Alle Apps, wenn Sie Visual Studio 2017 unter Windows 10 oder höher installiert haben. Scrollen Sie anschließend nach unten, und öffnen Sie den Ordner Visual Studio 2017 (nicht die Visual Studio 2017-App). Klicken Sie auf Developer Command Prompt for VS 2017 (Developer-Eingabeaufforderung für VS 2017), um das Eingabeaufforderungsfenster zu öffnen.

Öffnen einer Developer-Eingabeaufforderung in Visual Studio 2015

Öffnen Sie das Startmenü, und klicken Sie auf Alle Apps, wenn Sie Microsoft Visual C++ Build Tools 2015 unter Windows 10 oder höher installiert haben. Scrollen Sie anschließend nach unten, und öffnen Sie den Ordner Visual C++ Build Tools. Klicken Sie auf Visual C++ 2015 x86 Native Tools Command Prompt (Visual C++ 2015 x86 Native Tools-Eingabeaufforderung), um das Eingabeaufforderungsfenster zu öffnen.

Wenn Sie eine andere Version von Windows verwenden, suchen Sie im Startmenü oder auf der Startseite nach einem Ordner mit Visual Studio-Tools, der eine Verknüpfung für eine Developer-Eingabeaufforderung enthält. Sie können auch die Windows-Suchfunktion verwenden, um nach „Developer-Eingabeaufforderung“ zu suchen und die Version anzuklicken, die mit der installierten Version von Visual Studio übereinstimmt. Verwenden Sie die Verknüpfung, um das Eingabeaufforderungsfenster zu öffnen.

Überprüfen Sie als Nächstes, ob die Visual C++-Developer-Eingabeaufforderung ordnungsgemäß eingerichtet ist. Geben Sie im Eingabeaufforderungsfenster cl ein, und überprüfen Sie, ob die Ausgabe in etwa wie folgt aussieht:

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

Abhängig von der Visual C++-Version und den installierten Updates kann es Unterschiede im aktuellen Verzeichnis oder in den Versionsnummern geben. Wenn die oben genannte der angezeigten Ausgabe ähnelt, können Sie C- oder C++-Programme über die Befehlszeile erstellen.

Hinweis

Wenn eine Fehlermeldung wie z. B. "'cl' is not recognized as an internal or external command, operable program or batch file" („cl“ wurde nicht als interner oder externer Befehl, ausführbares Programm oder Batchdatei erkannt.), Fehler C1034 oder Fehler LNK1104 beim Ausführen des cl-Befehls ausgegeben wird, verwenden Sie entweder keine Developer-Eingabeaufforderung, oder es ist ein Fehler bei der Installation von Visual C++ aufgetreten. Sie müssen das Problem beheben, bevor Sie fortfahren können.

Wenn Sie die Verknüpfung für die Developer-Eingabeaufforderungen nicht finden, oder wenn Sie eine Fehlermeldung erhalten, wenn Sie cl eingeben, liegt ein Problem im Zusammenhang mit der Installation von Visual C++ vor. Wenn Sie Visual Studio 2017 oder höher verwenden, können Sie versuchen, die Desktopentwicklung mit C++ -Workload im Visual Studio-Installationsprogramm neu zu installieren. Weitere Informationen finden Sie unter Installieren der C++-Unterstützung in Visual Studio. Oder installieren Sie die Buildtools auf der Seite Visual Studio-Downloads erneut. Fahren Sie nicht mit dem nächsten Abschnitt fort, bis der cl -Befehl funktioniert. Weitere Informationen zur Installation und Problembehandlung von Visual Studio finden Sie unter Installieren von Visual Studio.

Hinweis

Abhängig von der Version von Windows auf dem Computer und der Systemsicherheitskonfiguration müssen Sie ggf. mit der rechten Maustaste das Kontextmenü für die Verknüpfung der Developer-Eingabeaufforderung öffnen und dann auf Als Administrator ausführen klicken, um das Programm gemäß den Schritten dieser exemplarischen Vorgehensweise zu erstellen und auszuführen.

Erstellen einer C-Quelldatei und Kompilieren dieser über die Befehlszeile

  1. Geben Sie im Fenster der Developer-Eingabeaufforderung cd c:\ ein, um das aktuelle Arbeitsverzeichnis in das Stammverzeichnis des Laufwerks C: zu ändern. Als Nächstes geben Sie md c:\hello ein, um ein Verzeichnis zu erstellen. Geben Sie anschließend cd c:\hello ein, um zu diesem Verzeichnis zu wechseln. In diesem Verzeichnis werden die Quelldatei und das kompilierte Programm gespeichert.

  2. Geben Sie in die Developer-Eingabeaufforderung notepad hello.c ein. Wählen Sie Editor angezeigten Warnungsdialogfeld Ja aus, um eine neue Datei in Ihrem Arbeitsverzeichnis zu erstellen.

  3. Geben Sie im Editor die folgenden Codezeilen ein:

    #include <stdio.h>
    
    int main()
    {
        printf("Hello, World! This is a native C program compiled on the command line.\n");
        return 0;
    }
    
  4. Wählen Sie Editor Menüleiste Datei speichern aus, um sie in Ihrem Arbeitsverzeichnis zu speichern.

  5. Wechseln Sie zurück zum Developer-Eingabeaufforderungsfenster. Geben Sie dir in die Eingabeaufforderung ein, um den Inhalt des Verzeichnisses c:\hello aufzulisten. Die Quelldatei hello.c sollte in der Verzeichnisauflistung angezeigt werden, die in etwa wie folgt aussieht:

    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
    
    

    Die Datumsangaben und andere Details werden sich auf Ihrem Computer von den hier gezeigten unterscheiden. Wenn die Quellcodedatei hello.c nicht angezeigt wird, vergewissern Sie sich, dass Sie in das von Ihnen erstellte Verzeichnis c:\hello gewechselt sind. Stellen Sie zudem im Editor sicher, dass Sie die Quelldatei in diesem Verzeichnis gespeichert haben. Stellen Sie außerdem sicher, dass Sie den Quellcode mit der Dateinamenerweiterung .c und nicht mit der .txt -Erweiterung gespeichert haben.

  6. Geben Sie in die Developer-Eingabeaufforderung cl hello.c ein, um das Programm zu kompilieren.

    Der Name des ausführbaren Programms „hello.exe“ wird in den vom Compiler erzeugten Ausgabeinformationen angezeigt:

    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
    

    Hinweis

    Wenn eine Fehlermeldung wie z. B. "'cl' is not recognized as an internal or external command, operable program or batch file" („cl“ wurde nicht als interner oder externer Befehl, ausführbares Programm oder Batchdatei erkannt.), Fehler C1034 oder Fehler LNK1104 ausgegeben wird, ist die Developer-Eingabeaufforderung nicht ordnungsgemäß eingerichtet. Weitere Informationen zum Beheben dieses Problems finden Sie im Abschnitt Öffnen einer Developer-Eingabeaufforderung.

    Überprüfen Sie den Quellcode, um Fehler zu beheben, ihn zu speichern und den Compiler dann noch mal auszuführen, wenn Sie einen anderen Compiler- oder Linkerfehler oder eine andere Warnung erhalten. Verwenden Sie das Suchfeld oben auf dieser Seite, um nach der Fehlernummer zu suchen und Informationen zu bestimmten Fehlern zu erhalten.

  7. Geben Sie hello in der Eingabeaufforderung ein, um das Programm auszuführen.

    Das Programm zeigt folgenden Text an und wird anschließend beendet:

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

    Herzlichen Glückwunsch, Sie haben mithilfe der Befehlszeile ein C-Programm kompiliert und ausgeführt.

Nächste Schritte

Dieses „Hello World“-Beispiel ist die einfachste Form eines C-Programms. Programme der realen Welt verfügen über Headerdateien und weitere Quelldateien, sind in Bibliotheken eingebunden und leisten nützliche Arbeit.

Sie können die Schritte in dieser exemplarischen Vorgehensweise verwenden, um Ihren eigenen C-Code zu erstellen, anstatt den gezeigten Beispielcode einzugeben. Außerdem können Sie viele C-Codebeispielprogramme erstellen, die Sie auch an anderer Stelle finden. Wenn Sie ein Programm mit zusätzlichen Quellcodedateien kompilieren möchten, geben Sie alle in der Befehlszeile ein. Beispiel:

cl file1.c file2.c file3.c

Der Compiler gibt ein Programm namens „file1.exe“ aus. Fügen Sie die Linkeroption /out hinzu, um den Namen in „program1.exe“ zu ändern:

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

Es empfiehlt sich, mithilfe der Warnstufenoptionen /W3 oder /W4 zu kompilieren, um automatisch weitere Programmierfehler zu erfassen:

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

Der Compiler, „cl.exe“, bietet viele weitere Optionen, die Sie zum Erstellen, Optimieren, Debuggen und Analysieren Ihres Codes nutzen können. Geben Sie cl /? in die Developer-Eingabeaufforderung ein, um eine kurze Liste anzuzeigen. Sie können die Kompilierung und Verknüpfung auch separat vornehmen und Linkeroptionen in komplexeren Buildszenarios anwenden. Weitere Informationen zu Compiler- und Linkeroptionen und zur Verwendung finden Sie unter C/C++-Referenz zum Erstellen von.

Sie können NMAKE und Makefiles oder MSBuild und Projektdateien zum Konfigurieren und Erstellen komplexerer Projekte in der Befehlszeile verwenden. Weitere Informationen zur Verwendung dieser Tools finden Sie unter NMAKE-Referenz und MSBuild.

Die C- und C++-Sprachen sind ähnlich, aber nicht identisch. Der Microsoft C/C++-Compiler (MSVC) verwendet eine einfache Regel, um zu bestimmen, welche Sprache zum Kompilieren des Codes verwendet werden soll. Standardmäßig behandelt der MSVC-Compiler alle auf .c endenden Dateien als C-Quellcode und alle auf .cpp endenden Dateien als C++-Quellcode. Wenn Sie erzwingen möchten, dass vom Compiler alle Dateien unabhängig von der Dateierweiterung als C behandelt werden, verwenden Sie die Compileroption /TC.

MSVC ist mit den ANSI C89- und ISO C99-Standards kompatibel, jedoch nicht streng konform. In den meisten Fällen wird der portierbare C-Code wie erwartet kompiliert und ausgeführt. Der Compiler bietet optional Unterstützung für die Änderungen in ISO C11/C17. Verwenden Sie zum Kompilieren mit der Unterstützung von C11/C17 das Compilerflag /std:c11 oder /std:c17. Für die Unterstützung von C11/C17 ist das Windows SDK 10.0.20201.0 oder höher erforderlich. Die Verwendung von Windows SDK 10.0.22000.0 oder höher wird empfohlen. Sie können das neueste SDK von der Windows SDK-Seite herunterladen. Weitere Informationen und Anweisungen zum Installieren und Verwenden dieses SDK für die C-Entwicklung finden Sie unter Installieren der Unterstützung für C11 und C17 in Visual Studio.

Bestimmte Bibliotheksfunktionen und POSIX-Funktionsnamen werden von MSVC als veraltet markiert. Die Funktionen werden unterstützt, aber die bevorzugten Namen wurden geändert. Weitere Informationen finden Sie unter Sicherheitsfunktionen in der CRT und Compilerwarnung C4996 (Stufe 3).

Siehe auch

Exemplarische Vorgehensweise: Erstellen eines Standard C++-Programms (C++)
C-Sprachreferenz
Projekte und Buildsysteme
Kompatibilität