Procedura dettagliata: compilazione di un programma in C dalla riga di comando

Gli strumenti di compilazione di Visual Studio includono un compilatore C che è possibile usare per creare tutti gli elementi, dai programmi console di base alle applicazioni desktop di Windows complete, alle app per dispositivi mobili e altro ancora. Microsoft C/C++ (MSVC) è un compilatore C e C++ che, nelle versioni più recenti, è conforme ad alcuni degli standard del linguaggio C più recenti, tra cui C11 e C17.

Questa procedura dettagliata illustra come creare un programma C di base " Hello, World" usando un editor di testo e quindi compilarlo nella riga di comando. Se si preferisce lavorare in C++ nella riga di comando, vedere Procedura dettagliata: Compilazione di un programma C++ nativo nella riga di comando. Se si vuole provare l'IDE di Visual Studio invece di usare la riga di comando, vedere Procedura dettagliata: Uso di progetti e soluzioni (C++) o Uso dell'IDE di Visual Studio per lo sviluppo di applicazioni desktop C++.

Prerequisiti

Per completare questa procedura dettagliata, è necessario aver installato Visual Studio o Build Tools per Visual Studio e il carico di lavoro Sviluppo di applicazioni desktop facoltativo con C++.

Visual Studio è un potente ambiente di sviluppo integrato che supporta un editor completo, strumenti di gestione risorse, debugger e compilatori per molti linguaggi e piattaforme. Per informazioni su queste funzionalità e su come scaricare e installare Visual Studio, inclusa l'edizione gratuita di Visual Studio Community, vedere Installare Visual Studio.

La versione build tools per Visual Studio di Visual Studio installa solo il set di strumenti da riga di comando, i compilatori, gli strumenti e le librerie necessari per compilare programmi C e C++. È perfetto per creare lab o esercizi in classe e installare relativamente rapidamente. Per installare solo il set di strumenti da riga di comando, scaricare Build Tools for Visual Studio dalla pagina di download di Visual Studio ed eseguire il programma di installazione. Nel programma di installazione di Visual Studio selezionare il carico di lavoro Sviluppo di applicazioni desktop con C++ (nelle versioni precedenti di Visual Studio selezionare il carico di lavoro Strumenti di compilazione C++) e scegliere Installa.

Dopo aver installato gli strumenti, è disponibile un altro strumento che verrà usato per compilare un programma C o C++ nella riga di comando. MSVC ha requisiti complessi per l'ambiente della riga di comando per trovare gli strumenti, le intestazioni e le librerie usati. Non è possibile usare MSVC in una normale finestra del prompt dei comandi senza alcuna preparazione. È necessaria una finestra del prompt dei comandi per gli sviluppatori, ovvero una normale finestra del prompt dei comandi con tutte le variabili di ambiente necessarie impostate. Fortunatamente, Visual Studio installa i collegamenti per avviare i prompt dei comandi per sviluppatori che hanno l'ambiente configurato per le compilazioni della riga di comando. Sfortunatamente, i nomi dei collegamenti del prompt dei comandi per gli sviluppatori e dove si trovano sono diversi in quasi ogni versione di Visual Studio e in versioni diverse di Windows. La prima attività dettagliata consiste nel trovare il collegamento corretto da usare.

Nota

Un collegamento al prompt dei comandi per gli sviluppatori imposta automaticamente i percorsi corretti per il compilatore e gli strumenti e per le intestazioni e le librerie necessarie. Alcuni di questi valori sono diversi per ogni configurazione di compilazione. È necessario impostare manualmente questi valori di ambiente se non si usa uno dei tasti di scelta rapida. Per altre informazioni, vedere Usare il set di strumenti MSVC dalla riga di comando. Poiché l'ambiente di compilazione è complesso, è consigliabile usare un collegamento al prompt dei comandi per gli sviluppatori anziché crearne uno personalizzato.

Queste istruzioni variano a seconda della versione di Visual Studio in uso. Per visualizzare la documentazione relativa alla versione preferita di Visual Studio, usare il controllo selettore della versione . Si trova nella parte superiore del sommario in questa pagina.

Aprire un prompt dei comandi per gli sviluppatori in Visual Studio 2022

Se Visual Studio 2022 è stato installato in Windows 10 o versione successiva, aprire il menu Start e scegliere Tutte le app. Scorrere quindi verso il basso e aprire la cartella Visual Studio 2022 (non l'app Visual Studio 2022). Scegliere Prompt dei comandi per gli sviluppatori per VS 2022 per aprire la finestra del prompt dei comandi.

Aprire un prompt dei comandi per gli sviluppatori in Visual Studio 2019

Se Visual Studio 2019 è stato installato in Windows 10 o versione successiva, aprire il menu Start e scegliere Tutte le app. Scorrere quindi verso il basso e aprire la cartella Visual Studio 2019 (non l'app Visual Studio 2019). Scegliere Prompt dei comandi per gli sviluppatori per VS 2019 per aprire la finestra del prompt dei comandi.

Aprire un prompt dei comandi per gli sviluppatori in Visual Studio 2017

Se Visual Studio 2017 è stato installato in Windows 10 o versione successiva, aprire il menu Start e scegliere Tutte le app. Scorrere quindi verso il basso e aprire la cartella di Visual Studio 2017 (non l'app Visual Studio 2017). Scegliere Prompt dei comandi per gli sviluppatori per VS 2017 per aprire la finestra del prompt dei comandi.

Aprire un prompt dei comandi per gli sviluppatori in Visual Studio 2015

Se è stato installato Microsoft Visual C++ Build Tools 2015 in Windows 10 o versione successiva, aprire il menu Start e scegliere Tutte le app. Scorrere quindi verso il basso e aprire la cartella Strumenti di compilazione di Visual C++. Scegliere Il prompt dei comandi di Visual C++ 2015 x86 Native Tools per aprire la finestra del prompt dei comandi.

Se si usa una versione diversa di Windows, cercare nella pagina menu Start o Start una cartella degli strumenti di Visual Studio che contiene un collegamento al prompt dei comandi per gli sviluppatori. È anche possibile usare la funzione di ricerca di Windows per cercare "prompt dei comandi per sviluppatori" e sceglierne una corrispondente alla versione installata di Visual Studio. Usare il collegamento per aprire la finestra del prompt dei comandi.

Verificare quindi che il prompt dei comandi per gli sviluppatori sia configurato correttamente. Nella finestra del prompt dei comandi immettere cl (o CL, il caso non è importante per il nome del compilatore, ma è importante per le opzioni del compilatore). L'output dovrebbe essere simile al seguente:

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

Potrebbero esserci differenze nei numeri di directory o versione correnti, a seconda della versione di Visual Studio e degli eventuali aggiornamenti installati. Se l'output precedente è simile a quello visualizzato, è possibile compilare programmi C o C++ nella riga di comando.

Nota

Se viene visualizzato un errore, ad esempio "'cl' non viene riconosciuto come comando interno o esterno, programma eseguibile o file batch", errore C1034 o errore LNK1104 quando si esegue il comando cl, non si sta usando un prompt dei comandi per sviluppatori o si è verificato un problema con l'installazione di Visual Studio. È necessario risolvere questo problema prima di poter continuare.

Se non è possibile trovare il collegamento al prompt dei comandi per gli sviluppatori o se viene visualizzato un messaggio di errore quando si immette cl, l'installazione di Visual Studio potrebbe avere un problema. Se si usa Visual Studio 2017 o versione successiva, provare a reinstallare il carico di lavoro Sviluppo desktop con C++ nel programma di installazione di Visual Studio. Per informazioni dettagliate, vedere Installare il supporto di C++ in Visual Studio. In alternativa, reinstallare Build Tools dalla pagina di download di Visual Studio. Non passare alla sezione successiva finché il cl comando non funziona. Per altre informazioni sull'installazione e la risoluzione dei problemi di Visual Studio, vedere Installare Visual Studio.

Nota

A seconda della versione di Windows nel computer e della configurazione di sicurezza del sistema, potrebbe essere necessario fare clic con il pulsante destro del mouse per aprire il menu di scelta rapida per il collegamento del prompt dei comandi per gli sviluppatori e quindi scegliere Esegui come Amministrazione istrator per compilare ed eseguire correttamente il programma creato seguendo questa procedura dettagliata.

Creare un file di origine C e compilarlo nella riga di comando

  1. Nella finestra del prompt dei comandi per gli sviluppatori immettere cd c:\ per modificare la directory di lavoro corrente nella radice dell'unità C: . md c:\hello Immettere quindi per creare una directory e quindi immettere cd c:\hello per passare a tale directory. Questa directory conterrà il file di origine e il programma compilato.

  2. Immettere notepad hello.c al prompt dei comandi per gli sviluppatori. Nella finestra di dialogo di avviso Blocco note visualizzata scegliere per creare un nuovo hello.c file nella directory di lavoro.

  3. In Blocco note immettere le righe di codice seguenti:

    #include <stdio.h>
    
    int main()
    {
        printf("Hello, World! This is a native C program compiled on the command line.\n");
        return 0;
    }
    
  4. Nella barra dei menu Blocco note scegliere Salva file>per salvare hello.c nella directory di lavoro.

  5. Tornare alla finestra del prompt dei comandi per gli sviluppatori. Immettere dir al prompt dei comandi per elencare il contenuto della c:\hello directory. Il file hello.c di origine dovrebbe essere visualizzato nell'elenco di directory, simile al seguente:

    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
    
    

    Le date e altri dettagli saranno diversi nel computer. Se il file di codice sorgente non è visualizzato, hello.c, assicurarsi di essere stato modificato nella c:\hello directory creata e in Blocco note assicurarsi di aver salvato il file di origine in questa directory. Assicurarsi inoltre di aver salvato il codice sorgente con un'estensione .c di file, non con estensione .txt .

  6. Per compilare il programma, immettere cl hello.c al prompt dei comandi per gli sviluppatori.

    È possibile visualizzare il nome del programma eseguibile hello.exe nelle righe di informazioni di output visualizzate dal compilatore:

    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
    

    Nota

    Se viene visualizzato un errore come "'cl' non viene riconosciuto come comando interno o esterno, programma eseguibile o file batch", errore C1034 o errore LNK1104, il prompt dei comandi per sviluppatori non è configurato correttamente. Per informazioni su come risolvere questo problema, tornare alla sezione Apri un prompt dei comandi per sviluppatori.

    Se viene visualizzato un errore o un avviso del compilatore o del linker diverso, esaminare il codice sorgente per correggere eventuali errori, quindi salvarlo ed eseguire di nuovo il compilatore. Per informazioni su errori specifici, usare la casella di ricerca nella parte superiore di questa pagina per cercare il numero di errore.

  7. Per eseguire il programma, immettere hello al prompt dei comandi.

    Il programma visualizza questo testo e poi viene chiuso:

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

    Congratulazioni, è stato compilato ed eseguito un programma C usando la riga di comando.

Passaggi successivi

Questo esempio di "Hello, World" è di base come un programma C può ottenere. I programmi reali hanno file di intestazione e più file di origine, collegamenti nelle librerie e fanno un lavoro utile.

È possibile usare la procedura descritta in questa procedura dettagliata per compilare codice C personalizzato anziché digitare il codice di esempio illustrato. È anche possibile compilare molti programmi di esempio di codice C che si trovano altrove. Per compilare un programma con più file di codice sorgente, immetterli tutti nella riga di comando:

cl file1.c file2.c file3.c

Il compilatore restituisce un programma denominato file1.exe. Per modificare il nome in program1.exe, aggiungere un'opzione /out linker:

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

Per rilevare automaticamente più errori di programmazione, è consigliabile compilare usando l'opzione livello di avviso /W3 o /W4 :

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

Il compilatore cl.exe offre molte altre opzioni che è possibile applicare per compilare, ottimizzare, eseguire il debug e analizzare il codice. Per un elenco rapido, immettere cl /? al prompt dei comandi per gli sviluppatori. È anche possibile compilare e collegare separatamente e applicare le opzioni del linker in scenari di compilazione più complessi. Per altre informazioni sulle opzioni del compilatore e del linker e sull'utilizzo, vedere Riferimenti alla compilazione di C/C++.

È possibile usare NMAKE e makefile oppure file di progetto e MSBuild per configurare e compilare progetti più complessi nella riga di comando. Per altre informazioni sull'uso di questi strumenti, vedere Informazioni di riferimento su NMAKE e MSBuild.

I linguaggi C e C++ sono simili, ma non uguali. Il compilatore Microsoft C/C++ (MSVC) usa una regola di base per determinare il linguaggio da usare quando compila il codice. Per impostazione predefinita, il compilatore MSVC considera tutti i file che terminano .c come codice sorgente C e tutti i file che terminano .cpp come codice sorgente C++. Per forzare il compilatore a considerare tutti i file come C indipendentemente dall'estensione del nome file, usare l'opzione del compilatore /TC .

Per impostazione predefinita, MSVC è compatibile con gli standard ANSI C89 e ISO C99, ma non strettamente conformi. Nella maggior parte dei casi, il codice C portatile verrà compilato ed eseguito come previsto. Il compilatore fornisce supporto facoltativo per le modifiche apportate a ISO C11/C17. Per eseguire la compilazione con il supporto C11/C17, usare il flag /std:c11 del compilatore o /std:c17. Il supporto C11/C17 richiede Windows SDK 10.0.20201.0 o versione successiva. È consigliabile usare Windows SDK 10.0.22000.0 o versione successiva. È possibile scaricare l'SDK più recente dalla pagina di Windows SDK . Per altre informazioni e istruzioni su come installare e usare questo SDK per lo sviluppo C, vedere Installare il supporto C11 e C17 in Visual Studio.

Alcune funzioni di libreria e nomi di funzione POSIX sono deprecate da MSVC. Le funzioni sono supportate, ma i nomi preferiti sono stati modificati. Per altre informazioni, vedere Funzionalità di sicurezza in CRT e Avviso del compilatore (livello 3) C4996.

Vedi anche

Procedura dettagliata: creazione di un programma C++ standard (C++)
Riferimenti per il linguaggio C
Progetti e sistemi di compilazione
Compatibilità