Procedura dettagliata: compilazione di un programma C++ nativo nella riga di comandoWalkthrough: Compiling a Native C++ Program on the Command Line

Visual C++ include un compilatore C++ da riga di comando che è possibile usare per creare tutti gli elementi da app console di base per le app della piattaforma Windows universale, applicazioni Desktop, i driver di dispositivo e componenti .NET.Visual C++ includes a command-line C++ compiler that you can use to create everything from basic console apps to Universal Windows Platform apps, Desktop apps, device drivers, and .NET components.

In questa procedura dettagliata, si crea una semplice "Hello, World"-lo stile di programma C++ tramite un testo dell'editor, quindi compilarlo nella riga di comando.In this walkthrough, you create a basic, "Hello, World"-style C++ program by using a text editor, and then compile it on the command line. Se si vuole provare a IDE di Visual Studio anziché usare la riga di comando, vedere procedura dettagliata: utilizzo di progetti e soluzioni (C++) oppure usando l'IDE di Visual Studio per lo sviluppo Desktop C++.If you'd like to try the Visual Studio IDE instead of using the command line, see Walkthrough: Working with Projects and Solutions (C++) or Using the Visual Studio IDE for C++ Desktop Development.

In questa procedura dettagliata è possibile usare il proprio programma Visual C++ anziché digitare quello riportato nell'esempio oppure usare esempi di codice Visual C++ di altri articoli della Guida.In this walkthrough, you can use your own Visual C++ program instead of typing the one that's shown, or you can use a Visual C++ code sample from another help article.

PrerequisitiPrerequisites

Per completare questa procedura dettagliata, è necessario avere installato Visual Studio e l'opzione facoltativa sviluppo di applicazioni Desktop con C++ carico di lavoro o gli strumenti da riga di comando di compilazione per Visual Studio.To complete this walkthrough, you must have installed either Visual Studio and the optional Desktop development with C++ workload, or the command-line Build Tools for Visual Studio.

Visual Studio è un ambiente di sviluppo integrato avanzato (IDE) che supporta un editor completo, i gestori di risorse, debugger e compilatori per molti linguaggi e piattaforme.Visual Studio is a powerful integrated development environment (IDE) that supports a full-featured editor, resource managers, debuggers, and compilers for many languages and platforms. Per informazioni su come scaricare e installare Visual Studio, inclusa l'edizione gratuita di Visual Studio Community e includono il supporto per lo sviluppo in C/C++, vedere supporto di installazione di C++ in Visual Studio.For information on how to download and install Visual Studio, including the free Visual Studio Community edition, and to include support for C/C++ development, see Install C++ support in Visual Studio.

Build Tools per Visual Studio installa solo i compilatori della riga di comando, strumenti e le librerie che necessari per compilare programmi C e C++.The Build Tools for Visual Studio installs only the command-line compilers, tools, and libraries you need to build C and C++ programs. È ideale per i laboratori di compilazione o in aula esercita e installa relativamente rapida.It's perfect for build labs or classroom exercises and installs relatively quickly. Per installare solo gli strumenti da riga di comando, scaricare Build Tools per Visual Studio 2017.To install only the command-line tools, download Build Tools for Visual Studio 2017.

Prima di poter compilare un programma C o C++ nella riga di comando, è necessario verificare che siano installati gli strumenti e che è possibile accedervi dalla riga di comando.Before you can build a C or C++ program on the command line, you must verify that the tools are installed, and that you can access them from the command line. Visual C++ ha requisiti complessi per l'ambiente della riga di comando per individuare gli strumenti, intestazioni e librerie utilizzate.Visual C++ has complex requirements for the command-line environment in order to find the tools, headers, and libraries it uses. Non è possibile usare Visual C++ in una finestra del prompt dei comandi normale senza eseguire alcune attività di preparazione.You can't use Visual C++ in a plain command prompt window without doing some preparation. Fortunatamente, Visual C++ vengono installati per poter avviare un prompt dei comandi per gli sviluppatori con l'ambiente configurato per le compilazioni da riga di comando di scelta rapida.Fortunately, Visual C++ installs shortcuts for you to launch a developer command prompt that has the environment set up for command line builds. Sfortunatamente, i nomi dei tasti di scelta rapida del prompt dei comandi per gli sviluppatori e dove si trovano sono diversi in quasi tutte le versioni di Visual C++ e su diverse versioni di Windows.Unfortunately, the names of the developer command prompt shortcuts and where they are located are different in almost every version of Visual C++ and on different versions of Windows. La prima attività di questa procedura dettagliata consiste nel trovare quello giusto da usare.Your first walkthrough task is finding the right one to use.

Nota

Un collegamento prompt dei comandi per gli sviluppatori imposta automaticamente i percorsi corretti per il compilatore e gli strumenti e per eventuali intestazioni obbligatorie e librerie.A developer command prompt shortcut automatically sets the correct paths for the compiler and tools, and for any required headers and libraries. È necessario impostare questi valori di ambiente manualmente se si usa una finestra del prompt dei comandi normale.You must set these environment values yourself if you use a regular Command Prompt window. Per altre informazioni, vedere impostare il percorso e le variabili di ambiente per compilazioni da riga di comando.For more information, see Set the Path and Environment Variables for Command-Line Builds. È consigliabile che usare un collegamento prompt dei comandi per gli sviluppatori invece di compilare il proprio.We recommend you use a developer command prompt shortcut instead of building your own.

Aprire un prompt dei comandi per gli sviluppatoriOpen a developer command prompt

  1. Se è stato installato Visual Studio 2017 in Windows 10, aprire il menu Start e scegliere tutte le app.If you have installed Visual Studio 2017 on Windows 10, open the Start menu and choose All apps. Scorrere verso il basso e aprire il Visual Studio 2017 cartella (non l'app di Visual Studio 2017).Scroll down and open the Visual Studio 2017 folder (not the Visual Studio 2017 app). Scegli prompt dei comandi per gli sviluppatori per VS 2017 per aprire la finestra del prompt dei comandi.Choose Developer Command Prompt for VS 2017 to open the command prompt window.

    Se è installato Microsoft Visual C++ Build Tools 2015 in Windows 10, aprire il avviare dal menu e scegliere tutte le app.If you have installed Microsoft Visual C++ Build Tools 2015 on Windows 10, open the Start menu and choose All apps. Scorrere verso il basso e aprire il Visual C++ Build Tools cartella.Scroll down and open the Visual C++ Build Tools folder. Scegli prompt dei comandi degli strumenti nativi Visual C++ 2015 x86 per aprire la finestra del prompt dei comandi.Choose Visual C++ 2015 x86 Native Tools Command Prompt to open the command prompt window.

    Se si usa una versione diversa di Visual Studio o eseguita una versione diversa di Windows, cercare nel menu di avvio o avviare pagina per una cartella di strumenti di Visual Studio che contiene un collegamento prompt dei comandi per gli sviluppatori.If you are using a different version of Visual Studio or are running a different version of Windows, look in your Start menu or Start page for a Visual Studio tools folder that contains a developer command prompt shortcut. È anche possibile usare la funzione di ricerca di Windows per cercare "prompt dei comandi per gli sviluppatori" e sceglierne uno che corrisponde alla versione installata di Visual Studio.You can also use the Windows search function to search for "developer command prompt" and choose one that matches your installed version of Visual Studio. Utilizzare il collegamento per aprire la finestra del prompt dei comandi.Use the shortcut to open the command prompt window.

  2. Successivamente, verificare che il prompt dei comandi per gli sviluppatori di Visual C++ è configurato correttamente.Next, verify that the Visual C++ developer command prompt is set up correctly. Nella finestra del prompt dei comandi, immettere cl e verificare che l'output simile al seguente:In the command prompt window, enter cl and verify that the output looks something like this:

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

    Possono essere presenti differenze nella directory corrente o numeri di versione, a seconda della versione di Visual C++ e gli aggiornamenti installati.There may be differences in the current directory or version numbers, depending on the version of Visual C++ and any updates installed. Se ciò è simile a ciò che viene visualizzato, quindi si è pronti per compilare programmi C o C++ nella riga di comando.If this is similar to what you see, then you are ready to build C or C++ programs at the command line.

    Nota

    Se si verifica un errore, ad esempio "'cl' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch," errore C1034 o LNK1104 quando si esegue la cl comando, ovvero non si sta usando un prompt dei comandi per gli sviluppatori, o si è verificato un problema con l'installazione di Visual C++.If you get an error such as "'cl' is not recognized as an internal or external command, operable program or batch file," error C1034, or error LNK1104 when you run the cl command, then either you are not using a developer command prompt, or something is wrong with your installation of Visual C++. È necessario correggere questo problema prima di continuare.You must fix this issue before you can continue.

    Se non è possibile trovare lo sviluppatore collegamento prompt dei comandi, o se viene visualizzato un messaggio di errore quando si immette cl, quindi l'installazione di Visual C++ potrebbe presentare un problema.If you can't find the developer command prompt shortcut, or if you get an error message when you enter cl, then your Visual C++ installation may have a problem. Provare a reinstallare il componente Visual C++ in Visual Studio, o reinstallare Microsoft Visual C++ Build Tools.Try reinstalling the Visual C++ component in Visual Studio, or reinstall the Microsoft Visual C++ Build Tools. Non passare alla sezione successiva fino a quando non funziona.Don't go on to the next section until this works. Per altre informazioni sull'installazione e la risoluzione dei problemi relativi a Visual C++, vedere installazione di Visual Studio.For more information about installing and troubleshooting Visual C++, see Install Visual Studio.

    Nota

    A seconda della versione di Windows nel computer e la configurazione della sicurezza del sistema, potrebbe essere necessario fare doppio clic per aprire il menu di scelta rapida per il collegamento prompt dei comandi per gli sviluppatori, quindi scegliere Esegui come amministratore a compilare ed eseguire il programma che crea seguendo questa procedura dettagliata correttamente.Depending on the version of Windows on the computer and the system security configuration, you might have to right-click to open the shortcut menu for the developer command prompt shortcut and then choose Run as Administrator to successfully build and run the program that you create by following this walkthrough.

Creare un file di origine Visual C++ e compilarlo nella riga di comandoCreate a Visual C++ source file and compile it on the command line

  1. Nella finestra del prompt dei comandi per gli sviluppatori, immettere md c:\hello per creare una directory e quindi immettere cd c:\hello per passare a tale directory.In the developer command prompt window, enter md c:\hello to create a directory, and then enter cd c:\hello to change to that directory. Si tratta della directory che vengono creati file di origine e il programma compilato in.This is the directory that your source file and the compiled program are created in.

  2. Immettere notepad Hello. cpp nella finestra del prompt dei comandi.Enter notepad hello.cpp in the command prompt window.

    Scegli quando il blocco note viene richiesto di creare un file.Choose Yes when Notepad prompts you to create a file. Verrà visualizzata una finestra Blocco note vuota, è possibile immettere il codice in un file denominato Hello. cpp.This opens a blank Notepad window, ready for you to enter your code in a file named hello.cpp.

  3. Nel blocco note, inserire le righe di codice seguenti:In Notepad, enter the following lines of code:

    #include <iostream>
    using namespace std;
    void main()
    {
        cout << "Hello, world, from Visual C++!" << endl;
    }
    

    È un programma molto semplice che scriverà una sola riga di testo sullo schermo e quindi verrà chiuso.This is a very simple program that will write one line of text on the screen and then exit. Per ridurre al minimo gli errori, copiare il codice e incollarlo nel Blocco note.To minimize errors, copy this code and paste it into Notepad.

  4. Salvare il lavoro.Save your work! Nel menu File del Blocco note scegliere Salva.In Notepad, on the File menu, choose Save.

    Congratulazioni, è stato creato un file di origine Visual C++, cpp, che è pronto per la compilazione.Congratulations, you have created a Visual C++ source file, hello.cpp, that is ready to compile.

  5. Passare alla finestra del prompt dei comandi per gli sviluppatori.Switch back to the developer command prompt window. Immettere dir al prompt dei comandi per elencare il contenuto della directory c:\hello.Enter dir at the command prompt to list the contents of the c:\hello directory. Verrà visualizzato il cpp file di origine nell'elenco di directory, simile al seguente:You should see the source file hello.cpp in the directory listing, which looks something like this:

    c:\hello>dir
     Volume in drive C has no label.
     Volume Serial Number is CC62-6545
    
     Directory of c:\hello
    
    05/24/2016  05:36 PM    <DIR>          .
    05/24/2016  05:36 PM    <DIR>          ..
    05/24/2016  05:37 PM               115 hello.cpp
                   1 File(s)            115 bytes
                   2 Dir(s)  571,343,446,016 bytes free
    

    Le date e altri dettagli variano nel computer.The dates and other details will differ on your computer. Se non viene visualizzato il file del codice sorgente, cpp, assicurarsi che è stato modificato nella directory c:\hello creata e nel blocco note, verificare che è stato salvato il file di origine in questa directory.If you don't see your source code file, hello.cpp, make sure you've changed to the c:\hello directory you created, and in Notepad, make sure that you saved your source file in this directory. Assicurarsi anche che è stato salvato il codice sorgente con un'estensione nome file. cpp, non è un'estensione di file con estensione txt.Also make sure that you saved the source code with a .cpp file name extension, not a .txt extension.

  6. Al prompt dei comandi per gli sviluppatori, immettere cl /EHsc hello.cpp per compilare il programma.At the developer command prompt, enter cl /EHsc hello.cpp to compile your program.

    Il compilatore cl.exe genera un file OBJ che contiene il codice compilato, quindi esegue il linker per creare un programma eseguibile denominato hello.exe.The cl.exe compiler generates an .obj file that contains the compiled code, and then runs the linker to create an executable program named hello.exe. Il nome del programma è visibile nelle righe di informazioni di output visualizzate dal compilatore.This name appears in the lines of output information that the compiler displays. L'output del compilatore dovrebbe essere simile al seguente:The output of the compiler should look something like this:

    c:\hello>cl /EHsc hello.cpp
    Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    hello.cpp
    Microsoft (R) Incremental Linker Version 14.10.25017.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    /out:hello.exe
    hello.obj
    

    Nota

    Se si verifica un errore, ad esempio "'cl' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch", errore C1034 o LNK1104, il prompt dei comandi per gli sviluppatori non è configurato correttamente.If you get an error such as "'cl' is not recognized as an internal or external command, operable program or batch file," error C1034, or error LNK1104, your developer command prompt is not set up correctly. Per informazioni su come risolvere questo problema, tornare indietro per la aprire un prompt dei comandi per gli sviluppatori sezione.For information on how to fix this issue, go back to the Open a developer command prompt section.

    Nota

    Se viene visualizzato un avviso o errore del linker o diversa del compilatore, esaminare il codice sorgente per correggere eventuali errori, quindi salvare il file ed eseguire nuovamente il compilatore.If you get a different compiler or linker error or warning, review your source code to correct any errors, then save it and run the compiler again. Per informazioni sugli errori specifici, usare la casella di ricerca in questa pagina MSDN per cercare il numero di errore.For information about specific errors, use the search box on this MSDN page to look for the error number.

  7. Per eseguire il programma hello.exe, immettere helloal prompt dei comandi.To run the hello.exe program, at the command prompt, enter hello.

    Il programma viene avviato e chiuso dopo aver visualizzato il testo seguente:The program displays this text and exits:

    Hello, world, from Visual C++!
    

    Complimenti, è stata appena compilato ed eseguito un programma C++ utilizzando gli strumenti da riga di comando.Congratulations, you've just compiled and run a C++ program by using the command-line tools.

Passaggi successiviNext steps

Questo esempio "Hello, World" è circa più semplice di quanto può ottenere un programma C++.This "Hello, World" example is about as simple as a C++ program can get. I programmi mondo reale hanno file di intestazione e altri file di origine, collegare nelle librerie ed eseguire operazioni utili.Real world programs have header files and more source files, link in libraries, and do useful work.

È possibile usare i passaggi descritti in questa procedura dettagliata per creare il proprio codice C++ anziché digitare il codice di esempio illustrato.You can use the steps in this walkthrough to build your own C++ code instead of typing the sample code shown. È anche possibile compilare molti programmi di esempio codice C++ che trova in un' posizione.You can also build many C++ code sample programs that you find elsewhere. È possibile inserire il codice sorgente e compilare le App in qualsiasi directory scrivibile.You can put your source code and build your apps in any writeable directory. Per impostazione predefinita, l'IDE di Visual Studio crea progetti nella cartella documenti, in una sottocartella di progetti di una cartella di Visual Studio denominata per la versione di Visual Studio.By default, the Visual Studio IDE creates projects in your Documents folder, in a Projects subfolder of a Visual Studio folder named for your version of Visual Studio.

Per compilare un programma che dispone di più file del codice sorgente, immetterli all nella riga di comando, simile al seguente:To compile a program that has multiple source code files, enter them all on the command line, like this:

cl /EHsc file1.cpp file2.cpp file3.cpp

L'opzione della riga di comando /EHsc indica al compilatore di abilitare la gestione delle eccezioni di C++.The /EHsc command-line option instructs the compiler to enable C++ exception handling. Per altre informazioni, vedere /EH (Modello di gestione delle eccezioni).For more information, see /EH (Exception Handling Model).

Quando si specificano un file di origine più simile al seguente, il compilatore Usa il primo file di input per creare il nome del programma.When you supply multiple source files like this, the compiler uses the first input file to create the program name. In questo caso, restituisce come output un programma denominato file1.exe.In this case, it outputs a program called file1.exe. Per modificare il nome in program1.exe, aggiungere un' /out l'opzione del linker:To change the name to program1.exe, add an /out linker option:

cl /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

E per intercettare gli errori di programmazione più automaticamente, si consiglia si esegue la compilazione usando il /w3 oppure /W4 opzione a livello di avviso:And to catch more programming mistakes automatically, we recommend you compile by using either the /W3 or /W4 warning level option:

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

Il compilatore, cl.exe, include molte altre opzioni è possibile applicare per creare, ottimizzare, eseguire il debug e analizzare il codice.The compiler, cl.exe, has many more options you can apply to build, optimize, debug, and analyze your code. Per un rapido elenco, immettere cl /?For a quick list, enter cl /? al prompt dei comandi per gli sviluppatori.at the developer command prompt. È anche possibile compilare e linking separatamente e applicare le opzioni del linker in scenari più complessi di compilazione.You can also compile and link separately and apply linker options in more complex build scenarios. Per altre informazioni sul compilatore e le opzioni del linker e l'utilizzo, vedere C/C++ Building Reference.For more information on compiler and linker options and usage, see C/C++ Building Reference.

È possibile usare NMAKE ed makefile e file MSBuild e del progetto per configurare e compilare progetti più complessi nella riga di comando.You can use NMAKE and makefiles, or MSBuild and project files to configure and build more complex projects on the command line. Per altre informazioni sull'uso di questi strumenti, vedere riferimenti a NMAKE e MSBuild.For more information on using these tools, see NMAKE Reference and MSBuild.

I linguaggi C e C++ sono simili, ma non identici.The C and C++ languages are similar, but not the same. Il compilatore Visual C++ Usa una semplice regola per determinare la lingua da usare durante la compilazione del codice.The Visual C++ compiler uses a simple rule to determine which language to use when it compiles your code. Per impostazione predefinita, il compilatore di Visual C++ considera tutti i file che terminano in c come codice sorgente di C e tutti i file che terminano in cpp come codice sorgente di C++.By default, the Visual C++ compiler treats all files that end in .c as C source code, and all files that end in .cpp as C++ source code. Per imporre al compilatore di considerare tutti i file come C++ indipendentemente dall'estensione del nome file, usare il /TC opzione del compilatore.To force the compiler to treat all files as C++ regardless of file name extension, use the /TC compiler option.

Il compilatore Visual C++ include un Runtime di libreria C (CRT) che è compatibile con lo standard ISO C99, ma non è strettamente conforme.The Visual C++ compiler includes a C Runtime Library (CRT) that is compatible with the ISO C99 standard, but not strictly compliant. Nella maggior parte dei casi, il codice portabile verrà compilato ed eseguito come previsto.In most cases, portable code will compile and run as expected. Visual C++ non supporta alcune delle modifiche di CRT in ISO C11.Visual C++ does not support some of the CRT changes in ISO C11. Alcune funzioni della libreria e i nomi delle funzioni POSIX sono deprecate dal compilatore Visual C++.Certain library functions and POSIX function names are deprecated by the Visual C++ compiler. Sono supportate le funzioni, ma sono stati modificati i nomi Preferiti.The functions are supported, but the preferred names have changed. Per altre informazioni, vedere funzionalità di sicurezza in CRT e avviso del compilatore (livello 3) C4996.For more information, see Security Features in the CRT and Compiler Warning (level 3) C4996.

Vedere ancheSee also

Riferimenti al linguaggio C++C++ Language Reference
Compilazione di programmi C/C++Building C/C++ Programs
Opzioni del compilatoreCompiler Options