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 utilizzare per creare tutti gli elementi da app console di base per le app Universal Windows Platform, App 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 un di base, "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 desidera provare l'IDE di Visual Studio anziché tramite la riga di comando, vedere procedura dettagliata: utilizzo di progetti e soluzioni (C++) oppure tramite 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 nell'oggetto facoltativo lo sviluppo 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 potente di sviluppo integrato (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, inclusi l'edizione gratuita di Visual Studio Community e per includere il supporto per lo sviluppo di 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.

Gli strumenti di compilazione per Visual Studio installa solo i compilatori della riga di comando, strumenti e le librerie che necessarie 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 le esercitazioni di compilazione o classe esercita e installa relativamente rapidamente.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 che sia possibile 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++ è complessi requisiti per l'ambiente della riga di comando per individuare gli strumenti, le 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 utilizzare 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++ viene installato per poter avviare un prompt dei comandi per sviluppatori con l'ambiente impostato per le compilazioni della 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 collegamenti il prompt dei comandi per sviluppatori e dove si trovano sono diversi in quasi tutte le versioni di Visual C++ e in versioni diverse 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 corretto da utilizzare.Your first walkthrough task is finding the right one to use.

Nota

Un collegamento del prompt dei comandi per 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 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 la compilazione dalla riga di comando.For more information, see Set the Path and Environment Variables for Command-Line Builds. È consigliabile che utilizzare un collegamento del prompt dei comandi per sviluppatori invece di compilare la propria.We recommend you use a developer command prompt shortcut instead of building your own.

Aprire un prompt dei comandi per 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 la Visual Studio 2017 cartella (non l'app Visual Studio 2017).Scroll down and open the Visual Studio 2017 folder (not the Visual Studio 2017 app). Scegliere prompt dei comandi per sviluppatori per Visual Studio 2017 per aprire la finestra del prompt dei comandi.Choose Developer Command Prompt for VS 2017 to open the command prompt window.

    Se è stato installato Microsoft Visual C++ compilare strumenti 2015 in Windows 10, aprire il avviare 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 la strumenti di compilazione di Visual C++ cartella.Scroll down and open the Visual C++ Build Tools folder. Scegliere 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 utilizza una versione diversa di Visual Studio o si esegue una versione diversa di Windows, cercare nel menu di avvio o pagina di inizio per una cartella Strumenti di Visual Studio contenente un collegamento del prompt dei comandi per 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. È inoltre possibile utilizzare la funzione di ricerca di Windows per cercare "prompt dei comandi per 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 di Visual C++ sviluppatore sia configurata 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 sarà 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 di 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, 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 un file batch," errore C1034 o LNK1104 quando si esegue il cl comando, quindi oppure non si utilizza un prompt dei comandi per sviluppatori, o si è verificato un errore 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 del collegamento del 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 di Visual C++ in Visual Studio oppure reinstallare Microsoft Visual C++ compila 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 ulteriori informazioni sull'installazione e la risoluzione dei problemi di Visual C++, vedere installare 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 su per aprire il menu di scelta rapida per il collegamento del prompt dei comandi per sviluppatori, quindi scegliere Esegui come amministratore a compilare ed eseguire il programma che crei 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 sviluppatori, immettere md c:\hello per creare una directory, quindi immettere c:\hello cd 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 in file di origine e del programma compilato.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.

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

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

  5. Tornare alla finestra del prompt dei comandi per 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. È necessario visualizzare il file di origine Hello. cpp nell'elenco delle directory, che presenta un aspetto 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 del computer.The dates and other details will differ on your computer. Se non viene visualizzato il file del codice sorgente, Hello. cpp, assicurarsi che è stato modificato per la directory c:\hello creata e nel blocco note, verificare che il file di origine è stato salvato 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 inoltre che è stato salvato il codice sorgente con un'estensione di nome file con estensione cpp, non un'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 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, prompt dei comandi per 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 il aprire un prompt dei comandi per 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 del compilatore diverse o errore del linker, esaminare il codice sorgente per correggere gli eventuali errori, quindi salvarlo 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 su errori specifici, utilizzare 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, si è 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 semplice come otterrà un programma C++.This "Hello, World" example is about as simple as a C++ program can get. I programmi reali dispongono di file di intestazione e più file di origine, nelle librerie di collegamento ed eseguire operazioni utili.Real world programs have header files and more source files, link in libraries, and do useful work.

È possibile utilizzare i passaggi in questa procedura dettagliata per compilare 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 creare molte applicazioni 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 applicazioni 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 più file di origine simile al seguente, il compilatore utilizza 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 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 che consente di rilevare automaticamente ulteriori errori di programmazione, è consigliabile compilare utilizzando la /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 compilare, ottimizzare, eseguire il debug e analisi del 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 sviluppatori.at the developer command prompt. È anche possibile compilare e collegare 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 ulteriori informazioni sul compilatore e delle opzioni del linker e sull'utilizzo, vedere riferimenti alla compilazione in C/C++.For more information on compiler and linker options and usage, see C/C++ Building Reference.

È possibile utilizzare NMAKE e makefile o 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 ulteriori informazioni sull'utilizzo 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 coincidono.The C and C++ languages are similar, but not the same. Il compilatore Visual C++ utilizza una semplice regola per determinare la lingua da utilizzare 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 forzare il compilatore consideri tutti i file come C++, indipendentemente dall'estensione di 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 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 CRT in C11 ISO.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. Le funzioni sono supportate, 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) l'avviso 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