Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Visual Studio-Buildtools enthalten einen C-Compiler, mit dem Sie alles von einfachen Konsolenprogrammen bis hin zu vollständigen Windows-Desktopanwendungen und mobilen Apps erstellen können. Microsoft C/C++ (MSVC) ist ein C- und C++-Compiler, der in seinen neuesten Versionen einigen der neuesten C-Sprachstandards entspricht, einschließlich C11 und C17.
In diesem Handbuch wird erläutert, wie Sie mithilfe eines Text-Editors ein einfaches C-Programm für Hello, World-Format erstellen und dann in der Befehlszeile kompilieren. Wenn Sie lieber in C++ an der Befehlszeile arbeiten möchten, lesen Sie die exemplarische Vorgehensweise: Kompilieren eines nativen C++-Programms in der Befehlszeile. Wenn Sie die Visual Studio-IDE verwenden möchten, anstatt die Befehlszeile zu verwenden, lesen Sie die exemplarische Vorgehensweise: Arbeiten mit Projekten und Lösungen (C++) oder Verwenden der Visual Studio IDE für C++-Desktopentwicklung.
Voraussetzungen
Entweder Visual Studio oder die Buildtools für Visual Studio und die Desktopentwicklung mit C++-Workload
- 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 Befehlszeilentoolset, die Compiler, Tools und Bibliotheken, die Sie zum Erstellen von C- und C++-Programmen benötigen. Sie eignen sich ideal für Buildlabs oder Übungen im Schulungskontext und werden schnell installiert. Um nur das Befehlszeilentoolset zu installieren, laden Sie Buildtools für Visual Studio von der Visual Studio-Downloadseite herunter, und führen Sie das Installationsprogramm aus. Wählen Sie im Visual Studio-Installationsprogramm die Desktopentwicklung mit C++-Workload (in älteren Versionen von Visual Studio, wählen Sie die C++-Buildtools-Workload aus), und wählen Sie "Installieren" aus.
MSVC-Compiler
- MSVC hat komplexe Anforderungen für die Befehlszeilenumgebung, um die tools, Header und Bibliotheken zu finden, die sie verwendet. Sie können MSVC nicht in einem einfachen Eingabeaufforderungsfenster ohne vorbereitung 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 Studio Verknüpfungen für Sie, um Entwicklerbefehle zu starten, die die Umgebung für Befehlszeilenbuilds eingerichtet haben. Leider unterscheiden sich die Namen der Entwickler-Eingabeaufforderungsverknüpfungen und deren Speicherort in fast jeder Version von Visual Studio und in verschiedenen 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.
Diese 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 die Version Auswahl oben im Inhaltsverzeichnis auf dieser Seite.
Öffnen einer Developer-Eingabeaufforderung in Visual Studio 2022
Wenn Sie Visual Studio 2022 unter Windows 10 oder höher installiert haben, öffnen Sie das Startmenü, und wählen Sie "Alle Apps" aus. 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
Wenn Sie Visual Studio 2019 unter Windows 10 oder höher installiert haben, öffnen Sie das Startmenü, und wählen Sie "Alle Apps" aus. 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
Wenn Sie Visual Studio 2017 unter Windows 10 oder höher installiert haben, öffnen Sie das Startmenü, und wählen Sie "Alle Apps" aus. 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
Wenn Sie Microsoft Visual C++-Buildtools 2015 unter Windows 10 oder höher installiert haben, öffnen Sie das Startmenü, und wählen Sie "Alle Apps" aus. 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 der Entwickler-Eingabeaufforderung zu suchen und eine auszuwählen, die Ihrer installierten Version von Visual Studio entspricht. Verwenden Sie die Verknüpfung, um das Eingabeaufforderungsfenster zu öffnen.
Überprüfen Sie als Nächstes, ob die Entwickler-Eingabeaufforderung ordnungsgemäß eingerichtet ist. Geben Sie cl
im Eingabeaufforderungsfenster den Compilernamen ein (oder CL
, falls nicht für den Compilernamen, aber es spielt keine Rolle für Compileroptionen). Die Ausgabe sollte in etwa so aussehen:
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... ]
Je nach Version von Visual Studio und installierten Updates gibt es möglicherweise Unterschiede in den aktuellen Verzeichnis- oder Versionsnummern. Wenn die vorherige Ausgabe dem angezeigten entspricht, können Sie C- oder C++-Programme in der Befehlszeile erstellen.
Hinweis
Wenn beim Ausführen des Befehls ein Fehler wie "cl" nicht als interner oder externer Befehl, operierbares Programm oder Batchdatei erkannt wird, fehler C1034 oder Fehler LNK1104, wenn Sie den cl
Befehl ausführen, verwenden Sie entweder keine Entwickler-Eingabeaufforderung, oder bei der Installation von Visual Studio ist ein Fehler aufgetreten. Sie müssen das Problem beheben, bevor Sie fortfahren können.
Wenn Sie die Eingabeaufforderungsverknüpfung für Entwickler nicht finden oder beim Eingeben cl
eine Fehlermeldung erhalten, liegt möglicherweise ein Problem bei der Visual Studio-Installation 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 von der Visual Studio-Downloadseite neu. 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 möglicherweise mit der rechten Maustaste klicken, um das Kontextmenü für die Verknüpfung mit der Eingabeaufforderung des Entwicklers zu öffnen, und wählen Sie dann "Als Administrator ausführen" aus, um das von Ihnen erstellte Programm erfolgreich zu erstellen und auszuführen, indem Sie diese exemplarische Vorgehensweise ausführen.
Erstellen einer C-Quelldatei und Kompilieren dieser über die Befehlszeile
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 Siemd c:\hello
ein, um ein Verzeichnis zu erstellen. Geben Sie anschließendcd c:\hello
ein, um zu diesem Verzeichnis zu wechseln. Dieses Verzeichnis enthält Ihre Quelldatei und das kompilierte Programm.Geben Sie in die Developer-Eingabeaufforderung
notepad hello.c
ein. Wählen Sie im angezeigten Dialogfeld mit der Editor-Warnung Ja, um eine neuehello.c
-Datei in Ihrem Arbeitsverzeichnis zu erstellen.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; }
Wählen Sie in der Editor-Menüleiste Datei>Speichern, um
hello.c
in Ihrem Arbeitsverzeichnis zu speichern.Wechseln Sie zurück zum Developer-Eingabeaufforderungsfenster. Geben Sie
dir
in die Eingabeaufforderung ein, um den Inhalt des Verzeichnissesc:\hello
aufzulisten. Die Quelldateihello.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 Verzeichnisc:\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.Geben Sie in die Developer-Eingabeaufforderung
cl hello.c
ein, um das Programm zu kompilieren.Sie können den Namen des ausführbaren Programms in den Zeilen der Ausgabeinformationen sehen,
hello.exe
die der Compiler anzeigt: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 ein Fehler wie "cl" nicht als interner oder externer Befehl, operierbares Programm oder Batchdatei, Fehler C1034 oder Fehler LNK1104 erkannt wird, ist die Eingabeaufforderung für Entwickler 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.
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.
Erweiterte Schritte
Dieses Beispiel für Hello, World ist so einfach, wie ein C-Programm abrufen kann. Reale Programme verfügen über Headerdateien und mehr Quelldateien, Link in Bibliotheken und machen 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. Um ein Programm mit weiteren Quellcodedateien zu kompilieren, geben Sie sie alle in der Befehlszeile ein:
cl file1.c file2.c file3.c
Der Compiler gibt ein Programm aus, das aufgerufen wird file1.exe
. Um den Namen zu program1.exe
ändern, fügen Sie eine /out-Linkeroption hinzu:
cl file1.c file2.c file3.c /link /out:program1.exe
Und um mehr Programmierfehler automatisch zu erfassen, empfehlen wir Ihnen die Kompilierung mithilfe der Option "/W3" oder "/W4 ":
cl /W4 file1.c file2.c file3.c /link /out:program1.exe
Der Compiler verfügt über viele weitere Optionen, cl.exe
die Sie zum Erstellen, Optimieren, Debuggen und Analysieren Ihres Codes anwenden 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 den Compiler- und Linkeroptionen und deren Verwendung finden Sie unter Referenz zur C-/C++-Erstellung.
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 MSVC-Compiler verwendet eine Grundregel, um zu bestimmen, welche Sprache beim 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.
Standardmäßig ist MSVC mit den STANDARDS ANSI C89 und ISO C99 kompatibel, aber nicht streng konform. In den meisten Fällen kompiliert und wird portierbarer C-Code wie erwartet kompiliert und ausgeführt. Der Compiler bietet optionale Unterstützung für die Änderungen in ISO C11 und C17. Um mit C11- und C17-Unterstützung zu kompilieren, verwenden Sie das Compiler-Flag /std:c11
oder /std:c17
. C11- und C17-Unterstützung erfordert Windows SDK 10.0.20201.0 oder höher. 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).