Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De buildhulpprogramma's van Visual Studio bevatten een C-compiler die u kunt gebruiken om alles te maken, van basisconsoleprogramma's tot volledige Windows-bureaubladtoepassingen en mobiele apps. Microsoft C/C++ (MSVC) is een C- en C++-compiler die, in de nieuwste versies, voldoet aan enkele van de nieuwste C-taalstandaarden, waaronder C11 en C17.
In deze handleiding wordt uitgelegd hoe u een eenvoudig Hello, World-style C-programma maakt met behulp van een teksteditor en deze vervolgens compileert op de opdrachtregel. Als u liever in C++ op de opdrachtregel werkt, raadpleegt u Walkthrough: Een systeemeigen C++-programma compileren op de opdrachtregel. Als u de Visual Studio IDE wilt uitproberen in plaats van de opdrachtregel te gebruiken, raadpleegt u Walkthrough: Werken met projecten en oplossingen (C++) of de Visual Studio IDE gebruiken voor C++ Desktop Development.
Vereiste voorwaarden
Visual Studio of de buildhulpprogramma's voor Visual Studio en de desktopontwikkeling met C++-workload
- Visual Studio is een krachtige geïntegreerde ontwikkelomgeving die ondersteuning biedt voor een volledige editor, resourcemanagers, foutopsporingsprogramma's en compilers voor veel talen en platforms. Zie Visual Studio installeren voor informatie over deze functies en het downloaden en installeren van Visual Studio, inclusief de gratis Visual Studio Community-editie.
- De buildhulpprogramma's voor Visual Studio installeren alleen de opdrachtregelhulpprogramma's, de compilers, hulpprogramma's en bibliotheken die u nodig hebt om C- en C++-programma's te bouwen. Het is perfect voor bouwlabs of voor leslokaaloefeningen en installeert relatief snel. Als u alleen de opdrachtregelhulpprogramma's wilt installeren, downloadt u bouwhulpprogramma's voor Visual Studio vanaf de downloadpagina van Visual Studio en voert u het installatieprogramma uit. Selecteer in het installatieprogramma van Visual Studio de desktopontwikkeling met C++ -workload (in oudere versies van Visual Studio, selecteer de workload C++-buildhulpprogramma's ) en kies Installeren.
MSVC-compiler
- MSVC heeft complexe vereisten voor de opdrachtregelomgeving om de hulpprogramma's, headers en bibliotheken te vinden die worden gebruikt. U kunt MSVC niet gebruiken in een opdrachtpromptvenster zonder enige voorbereiding. U hebt een opdrachtpromptvenster voor ontwikkelaars nodig. Dit is een normaal opdrachtpromptvenster waarin alle vereiste omgevingsvariabelen zijn ingesteld. Gelukkig installeert Visual Studio snelkoppelingen waarmee u ontwikkelaar-opdrachtprompts kunt starten, waarbij de omgeving is ingesteld voor builds via de opdrachtregel. Helaas zijn de namen van de snelkoppelingen voor de opdrachtprompt voor ontwikkelaars en waar ze zich bevinden verschillend in bijna elke versie van Visual Studio en in verschillende versies van Windows. De eerste walkthrough-taak is het vinden van de juiste snelkoppeling die u wilt gebruiken.
Opmerking
Met een opdrachtpromptsnelkoppeling voor ontwikkelaars worden automatisch de juiste paden ingesteld voor de compiler en hulpprogramma's en voor eventuele vereiste headers en bibliotheken. Sommige van deze waarden verschillen voor elke buildconfiguratie. U moet deze omgevingswaarden zelf instellen als u geen van de sneltoetsen gebruikt. Zie De MSVC-toolset gebruiken vanaf de opdrachtregel voor meer informatie. Omdat de buildomgeving complex is, raden we u ten zeerste aan om een snelkoppeling naar de ontwikkelaarsopdrachtprompt te gebruiken in plaats van er zelf een te bouwen.
Deze instructies variëren, afhankelijk van de versie van Visual Studio die u gebruikt. Als u de documentatie voor uw favoriete versie van Visual Studio wilt bekijken, gebruikt u de versiekiezer boven aan de inhoudsopgave op deze pagina.
Een opdrachtprompt voor ontwikkelaars openen in Visual Studio 2022
Als u Visual Studio 2022 hebt geïnstalleerd in Windows 10 of hoger, opent u het menu Start en kiest u Alle apps. Schuif vervolgens omlaag en open de map Visual Studio 2022 (niet de Visual Studio 2022-app). Kies Opdrachtprompt voor Ontwikkelaars voor VS 2022 om het opdrachtpromptvenster te openen.
Een opdrachtprompt voor ontwikkelaars openen in Visual Studio 2019
Als u Visual Studio 2019 hebt geïnstalleerd in Windows 10 of hoger, opent u het menu Start en kiest u Alle apps. Schuif vervolgens omlaag en open de map Visual Studio 2019 (niet de Visual Studio 2019-app). Kies Opdrachtprompt voor Ontwikkelaars voor VS 2019 om het opdrachtpromptvenster te openen.
Een opdrachtprompt voor ontwikkelaars openen in Visual Studio 2017
Als u Visual Studio 2017 hebt geïnstalleerd in Windows 10 of hoger, opent u het menu Start en kiest u Alle apps. Schuif vervolgens omlaag en open de map Visual Studio 2017 (niet de Visual Studio 2017-app). Kies Opdrachtprompt voor Ontwikkelaars voor VS 2017 om het opdrachtpromptvenster te openen.
Een opdrachtprompt voor ontwikkelaars openen in Visual Studio 2015
Als u Microsoft Visual C++ Build Tools 2015 in Windows 10 of hoger hebt geïnstalleerd, opent u het menu Start en kiest u Alle apps. Schuif vervolgens omlaag en open de map Visual C++ Build Tools . Kies Visual C++ 2015 x86 Native Tools Command Prompt om het opdrachtpromptvenster te openen.
Als u een andere versie van Windows gebruikt, zoekt u in het startmenu of de startpagina naar een map met visual Studio-hulpprogramma's die een snelkoppeling voor de opdrachtprompt voor ontwikkelaars bevat. U kunt ook de Windows-zoekfunctie gebruiken om te zoeken naar een opdrachtprompt voor ontwikkelaars en er een te kiezen die overeenkomt met uw geïnstalleerde versie van Visual Studio. Gebruik de snelkoppeling om het opdrachtpromptvenster te openen.
Controleer vervolgens of de opdrachtprompt voor ontwikkelaars juist is ingesteld. Voer in het opdrachtpromptvenster ( cl
of CL
, case maakt niet uit voor de naam van de compiler, maar het maakt wel uit voor compileropties). Het resultaat moet er ongeveer zo uitzien:
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... ]
Er kunnen verschillen zijn in de huidige map- of versienummers, afhankelijk van de versie van Visual Studio en eventuele geïnstalleerde updates. Als de voorgaande uitvoer vergelijkbaar is met wat u ziet, kunt u C- of C++-programma's bouwen op de opdrachtregel.
Opmerking
Als u een fout krijgt zoals 'cl' wordt niet herkend als een interne of externe opdracht, beveiligbaar programma of batchbestand, fout C1034 of fout LNK1104 wanneer u de cl
opdracht uitvoert, gebruikt u geen opdrachtprompt voor ontwikkelaars of is er iets mis met de installatie van Visual Studio. U moet dit probleem oplossen voordat u kunt doorgaan.
Als u de snelkoppeling naar de opdrachtprompt voor ontwikkelaars niet kunt vinden of als u een foutbericht krijgt wanneer u invoert cl
, kan er een probleem zijn met de installatie van Visual Studio. Als u Visual Studio 2017 of hoger gebruikt, probeer dan de workload Desktopontwikkeling met C++ opnieuw te installeren in het installatieprogramma van Visual Studio. Zie C++-ondersteuning installeren in Visual Studio voor meer informatie. U kunt ook de buildhulpprogramma's opnieuw installeren vanaf de downloadpagina van Visual Studio . Ga pas verder met de volgende sectie als de cl
opdracht werkt. Zie Visual Studio installeren voor meer informatie over het installeren en oplossen van problemen met Visual Studio.
Opmerking
Afhankelijk van de versie van Windows op de computer en de systeembeveiligingsconfiguratie, moet u mogelijk met de rechtermuisknop klikken om het snelmenu voor de snelkoppeling voor de opdrachtprompt voor ontwikkelaars te openen en vervolgens Uitvoeren als administrator te kiezen om het programma dat u maakt, te bouwen en uit te voeren door deze procedure te volgen.
Maak een C-bronbestand en compileer het op de opdrachtregel
Voer in het opdrachtpromptvenster voor ontwikkelaars
cd c:\
in om de huidige werkmap te wijzigen naar de hoofdmap van uw C-schijf. Voer vervolgens inmd c:\hello
om een map te maken en voercd c:\hello
vervolgens in om naar die map te gaan. Deze map bevat uw bronbestand en het gecompileerde programma.Voer dit in
notepad hello.c
bij de opdrachtprompt voor ontwikkelaars. Kies Ja in het waarschuwingsdialoogvenster van Kladblok dat wordt weergegeven om een nieuwhello.c
bestand in uw werkmap te maken.Voer in Kladblok de volgende regels met code in:
#include <stdio.h> int main() { printf("Hello, World! This is a native C program compiled on the command line.\n"); return 0; }
Op de menubalk van Kladblok, kies Bestand>Opslaan om
hello.c
in uw werkmap op te slaan.Ga terug naar het opdrachtpromptvenster voor ontwikkelaars. Voer
dir
bij de opdrachtprompt in om de inhoud van dec:\hello
map weer te geven. U zou het bronbestandhello.c
in de directorylijst moeten zien, die er ongeveer als volgt uitziet: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
De datums en andere details verschillen op uw computer. Als u het broncodebestand niet ziet,
hello.c
controleer dan of u naar dec:\hello
map bent gewisseld die u hebt aangemaakt en controleer in Kladblok of u het bronbestand in deze map hebt opgeslagen. Zorg er ook voor dat u de broncode hebt opgeslagen met een.c
bestandsnaamextensie, niet een.txt
extensie.Als u uw programma wilt compileren, voert u dit in
cl hello.c
bij de opdrachtprompt voor ontwikkelaars.U kunt de naam van het uitvoerbare programma zien,
hello.exe
in de regels met uitvoergegevens die door de compiler worden weergegeven: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
Opmerking
Als er een fout wordt weergegeven, zoals 'cl' wordt niet herkend als een interne of externe opdracht, uitvoerbaar programma of batchbestand, fout C1034 of fout LNK1104, is de opdrachtprompt voor ontwikkelaars niet correct ingesteld. Ga terug naar de sectie Een opdrachtprompt voor ontwikkelaars openen voor informatie over het oplossen van dit probleem.
Als u een andere compiler- of linkerfout of -waarschuwing krijgt, controleert u de broncode om eventuele fouten te corrigeren, slaat u deze op en voert u de compiler opnieuw uit. Gebruik het zoekvak boven aan deze pagina om naar het foutnummer te zoeken voor informatie over specifieke fouten.
Als u het programma wilt uitvoeren, voert u dit in
hello
bij de opdrachtprompt.Het programma geeft deze tekst weer en wordt vervolgens afgesloten.
Hello, World! This is a native C program compiled on the command line.
Gefeliciteerd, u hebt een C-programma gecompileerd en uitgevoerd met behulp van de opdrachtregel.
Geavanceerde stappen
Dit Hello, World-voorbeeld is ongeveer zo eenvoudig als een C-programma kan krijgen. Echte programma's hebben koptekstbestanden en meer bronbestanden, koppeling in bibliotheken en doen nuttig werk.
U kunt de stappen in dit scenario gebruiken om uw eigen C-code te bouwen in plaats van de voorbeeldcode te typen die wordt weergegeven. U kunt ook veel C-codevoorbeeldprogramma's bouwen die u elders vindt. Als u een programma met meer broncodebestanden wilt compileren, voert u ze allemaal in op de opdrachtregel:
cl file1.c file2.c file3.c
De compiler voert een programma uit met de naam file1.exe
. Als u de naam program1.exe
wilt wijzigen, voegt u een /out-linkeroptie toe.
cl file1.c file2.c file3.c /link /out:program1.exe
En als u automatisch meer programmeerfouten wilt ondervangen, raden we u aan om te compileren met behulp van de optie /W3 of /W4-waarschuwingsniveau :
cl /W4 file1.c file2.c file3.c /link /out:program1.exe
De compiler, cl.exe
heeft veel meer opties die u kunt toepassen op het bouwen, optimaliseren, opsporen en analyseren van uw code. Voer de opdrachtprompt cl /?
voor ontwikkelaars in voor een snelle lijst. U kunt ook compileren en linken afzonderlijk uitvoeren en linkeropties toepassen in complexere buildscenario's. Zie C/C++ Bouwreferentie voor meer informatie over compiler- en linkeropties en -gebruik.
U kunt NMAKE en makefiles, of MSBuild en projectbestanden gebruiken om complexere projecten via de opdrachtregel te configureren en te bouwen. Zie NMAKE Reference en MSBuild voor meer informatie over het gebruik van deze hulpprogramma's.
De C- en C++-talen zijn vergelijkbaar, maar niet hetzelfde. De MSVC-compiler gebruikt een basisregel om te bepalen welke taal moet worden gebruikt wanneer uw code wordt gecompileerd. De MSVC-compiler behandelt standaard alle bestanden die eindigen .c
als C-broncode en alle bestanden die eindigen .cpp
als C++-broncode. Als u wilt afdwingen dat de compiler alle bestanden behandelt als C, ongeacht de bestandsnaamextensie, gebruikt u de optie /TC-compiler .
MSVC is standaard compatibel met de ANSI C89- en ISO C99-standaarden, maar niet strikt conform. In de meeste gevallen compileert en wordt de draagbare C-code gecompileerd en uitgevoerd zoals verwacht. De compiler biedt optionele ondersteuning voor de wijzigingen in ISO C11 en C17. Als u wilt compileren met C11- en C17-ondersteuning, gebruikt u de compilervlag /std:c11
of /std:c17
. C11- en C17-ondersteuning vereist Windows SDK 10.0.20201.0 of hoger. Windows SDK 10.0.22000.0 of hoger wordt aanbevolen. U kunt de nieuwste SDK downloaden vanaf de pagina Windows SDK . Zie C11- en C17-ondersteuning installeren in Visual Studio voor meer informatie en instructies over het installeren en gebruiken van deze SDK voor C-ontwikkeling.
Bepaalde bibliotheekfuncties en POSIX-functienamen worden afgeschaft door MSVC. De functies worden ondersteund, maar de voorkeursnamen zijn gewijzigd. Zie Beveiligingsfuncties in crt en compilerwaarschuwing (niveau 3) C4996 voor meer informatie.