Partilhar via


Passo a passo: Compilar um programa C na linha de comando

As ferramentas de compilação do Visual Studio incluem um compilador C que você pode usar para criar tudo, desde programas básicos de console até aplicativos completos da área de trabalho do Windows e aplicativos móveis. Microsoft C/C++ (MSVC) é um compilador C e C++ que, em suas versões mais recentes, está em conformidade com alguns dos mais recentes padrões de linguagem C, incluindo C11 e C17.

Este guia explica como criar um programa básico Hello, World-style C usando um editor de texto e, em seguida, compilá-lo na linha de comando. Se você preferir trabalhar em C++ na linha de comando, consulte Passo a passo: compilando um programa C++ nativo na linha de comando. Se você quiser experimentar o IDE do Visual Studio em vez de usar a linha de comando, consulte Passo a passo: Trabalhando com projetos e soluções (C++) ou Usando o IDE do Visual Studio para desenvolvimento de área de trabalho C++.

Pré-requisitos

  • Visual Studio ou as ferramentas de compilação para Visual Studio, e a carga de trabalho de desenvolvimento desktop com C++

    • O Visual Studio é um poderoso ambiente de desenvolvimento integrado que oferece suporte a um editor completo, gerenciadores de recursos, depuradores e compiladores para muitas linguagens e plataformas. Para obter informações sobre esses recursos e como baixar e instalar o Visual Studio, incluindo a edição gratuita do Visual Studio Community, consulte Instalar o Visual Studio.
    • As ferramentas de compilação para Visual Studio instalam apenas o conjunto de ferramentas de linha de comando, os compiladores, ferramentas e bibliotecas que você precisa para criar programas C e C++. É perfeito para construir laboratórios ou exercícios em sala de aula e instala-se relativamente rapidamente. Para instalar apenas o conjunto de ferramentas de linha de comando, baixe as ferramentas de compilação para Visual Studio na página de downloads do Visual Studio e execute o instalador. No instalador do Visual Studio, selecione a carga de trabalho de desenvolvimento de área de trabalho com C++ (em versões mais antigas do Visual Studio, selecione a carga de trabalho de ferramentas de compilação C++ ) e escolha Instalar.
  • Compilador MSVC

    • O MSVC tem requisitos complexos para o ambiente de linha de comando para localizar as ferramentas, cabeçalhos e bibliotecas que ele usa. Você não pode usar MSVC em uma janela de prompt de comando simples sem alguma preparação. Você precisa de uma janela de prompt de comando do desenvolvedor , que é uma janela de prompt de comando regular que tem todas as variáveis de ambiente necessárias definidas. Felizmente, o Visual Studio instala atalhos para você iniciar prompts de comando do desenvolvedor que têm o ambiente configurado para compilações de linha de comando. Infelizmente, os nomes dos atalhos do prompt de comando do desenvolvedor e onde eles estão localizados são diferentes em quase todas as versões do Visual Studio e em diferentes versões do Windows. Sua primeira tarefa passo a passo é encontrar o atalho certo para usar.

Observação

Um atalho de prompt de comando do desenvolvedor define automaticamente os caminhos corretos para o compilador e as ferramentas, bem como para quaisquer cabeçalhos e bibliotecas necessários. Alguns desses valores são diferentes para cada configuração de compilação. Você mesmo deve definir esses valores de ambiente se não usar um dos atalhos. Para obter mais informações, consulte Usar o conjunto de ferramentas MSVC a partir da linha de comando. Como o ambiente de compilação é complexo, recomendamos o uso de um atalho do prompt de comando de desenvolvedor em vez de criar o seu próprio.

Essas instruções variam dependendo de qual versão do Visual Studio você está usando. Para ver a documentação da sua versão preferida do Visual Studio, use o seletor de versão localizado na parte superior do sumário desta página.

Abra um prompt de comando do desenvolvedor no Visual Studio 2022

Se você instalou o Visual Studio 2022 no Windows 10 ou posterior, abra o menu Iniciar e escolha Todos os aplicativos. Em seguida, role para baixo e abra a pasta Visual Studio 2022 (não o aplicativo Visual Studio 2022). Escolha o Developer Command Prompt for VS 2022 para abrir a janela do prompt de comando.

Abra um prompt de comando do desenvolvedor no Visual Studio 2019

Se você instalou o Visual Studio 2019 no Windows 10 ou posterior, abra o menu Iniciar e escolha Todos os aplicativos. Em seguida, role para baixo e abra a pasta Visual Studio 2019 (não o aplicativo Visual Studio 2019). Escolha o Prompt de Comando do Desenvolvedor para VS 2019 para abrir a janela do prompt de comando.

Abrir um prompt de comando do desenvolvedor no Visual Studio 2017

Se você instalou o Visual Studio 2017 no Windows 10 ou posterior, abra o menu Iniciar e escolha Todos os aplicativos. Em seguida, role para baixo e abra a pasta Visual Studio 2017 (não o aplicativo Visual Studio 2017). Escolha Prompt de Comando do Desenvolvedor do VS 2017 para abrir a janela do prompt de comando.

Abrir um prompt de comando do desenvolvedor no Visual Studio 2015

Se você instalou o Microsoft Visual C++ Build Tools 2015 no Windows 10 ou posterior, abra o menu Iniciar e escolha Todos os aplicativos. Em seguida, role para baixo e abra a pasta Visual C++ Build Tools . Escolha Visual C++ 2015 x86 Native Tools Command Prompt para abrir a janela do prompt de comando.

Se estiver a utilizar uma versão diferente do Windows, procure no menu Iniciar ou na página Iniciar uma pasta de ferramentas do Visual Studio que contenha um atalho da linha de comandos do programador. Você também pode usar a função de pesquisa do Windows para procurar o prompt de comando do desenvolvedor e escolher um que corresponda à sua versão instalada do Visual Studio. Utilize o atalho para abrir a janela do prompt de comando.

Em seguida, verifique se o prompt de comando do desenvolvedor está configurado corretamente. Na janela do prompt de comando, digite cl (ou CL, caso não importa para o nome do compilador, mas importa para as opções do compilador). O resultado deverá ter um aspeto semelhante ao seguinte:

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

Pode haver diferenças no diretório atual ou números de versão, dependendo da versão do Visual Studio e de quaisquer atualizações instaladas. Se a saída anterior for semelhante à que você vê, então você está pronto para criar programas C ou C++ na linha de comando.

Observação

Se você receber um erro como 'cl' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lotes, erro C1034 ou erro LNK1104 quando você executa o cl comando, então você não está usando um prompt de comando do desenvolvedor ou algo está errado com sua instalação do Visual Studio. Você deve corrigir esse problema antes de poder continuar.

Se não conseguir encontrar o atalho da linha de comandos do programador ou se receber uma mensagem de erro quando introduzir cl, então a instalação do Visual Studio poderá ter um problema. Se estiveres a usar o Visual Studio 2017 ou posterior, tenta reinstalar a carga de trabalho Desenvolvimento de Desktop com C++ no instalador do Visual Studio. Para obter detalhes, consulte Instalar suporte a C++ no Visual Studio. Ou, reinstale as ferramentas de compilação a partir da página de downloads do Visual Studio . Não vá para a próxima seção até que o cl comando funcione. Para obter mais informações sobre como instalar e solucionar problemas do Visual Studio, consulte Instalar o Visual Studio.

Observação

Dependendo da versão do Windows no computador e da configuração de segurança do sistema, talvez seja necessário clicar com o botão direito do mouse para abrir o menu de atalho para o atalho do prompt de comando do desenvolvedor e, em seguida, escolher Executar como administrador para criar e executar com êxito o programa criado seguindo este passo a passo.

Crie um arquivo de origem C e compile-o na linha de comando

  1. Na janela do prompt de comando do desenvolvedor, digite cd c:\ para alterar o diretório de trabalho atual para a raiz da unidade C:. Em seguida, digite md c:\hello para criar um diretório e, em seguida, digite cd c:\hello para alterar para esse diretório. Este diretório contém seu arquivo de origem e o programa compilado.

  2. Entre notepad hello.c na linha de comandos do desenvolvedor. Na caixa de diálogo de alerta do Bloco de Notas que aparece, escolha Sim para criar um novo hello.c arquivo no diretório de trabalho.

  3. No Bloco de Notas, insira as seguintes linhas de código:

    #include <stdio.h>
    
    int main()
    {
        printf("Hello, World! This is a native C program compiled on the command line.\n");
        return 0;
    }
    
  4. Na barra de menus do Bloco de Notas, escolha Salvar arquivo> para salvarhello.c em seu diretório de trabalho.

  5. Volte para a janela do prompt de comando do desenvolvedor. Digite dir no prompt de comando para listar o conteúdo do diretório c:\hello. Você deve ver o arquivo de origem hello.c na listagem de diretórios, que é algo como:

    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
    
    

    As datas e outros detalhes serão diferentes no seu computador. Se não vir o ficheiro de código-fonte, hello.c certifique-se de que alterou para o diretório c:\hello que criou e, no Bloco de Notas, certifique-se de que guardou o ficheiro de origem neste diretório. Além disso, assegure-se de que salvou o código-fonte com uma extensão de nome de arquivo .c, e não uma extensão .txt.

  6. Para compilar seu programa, digite cl hello.c no prompt de comando do desenvolvedor.

    Você pode ver o nome do programa executável, hello.exe, nas linhas de informações de saída que o compilador exibe:

    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
    

    Observação

    Se você receber um erro como 'cl' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lotes, erro C1034 ou erro LNK1104, o prompt de comando do desenvolvedor não está configurado corretamente. Para obter informações sobre como corrigir esse problema, volte para a seção Abrir um prompt de comando do desenvolvedor .

    Se você receber um erro ou aviso diferente do compilador ou do vinculador, revise seu código-fonte para corrigir quaisquer erros, salve-o e execute o compilador novamente. Para obter informações sobre erros específicos, use a caixa de pesquisa na parte superior desta página para procurar o número do erro.

  7. Para executar o programa, digite hello no prompt de comando.

    O programa exibe este texto e, em seguida, sai:

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

    Parabéns, você compilou e executou um programa em C usando a linha de comando.

Passos avançados

Este exemplo do Hello, World é tão básico quanto um programa em C pode obter. Programas do mundo real têm ficheiros de cabeçalho e mais ficheiros de origem, ligam a bibliotecas e fazem trabalho útil.

Você pode usar as etapas neste passo a passo para criar seu próprio código C em vez de digitar o código de exemplo mostrado. Você também pode criar muitos programas de exemplo de código C que você encontra em outro lugar. Para compilar um programa que tenha mais arquivos de código-fonte, insira-os todos na linha de comando:

cl file1.c file2.c file3.c

O compilador produz um programa chamado file1.exe. Para alterar o nome para program1.exe, adicione uma opção de vinculador /out :

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

E para detetar mais erros de programação automaticamente, recomendamos que você compile usando a opção de nível de aviso /W3 ou /W4 :

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

O compilador, cl.exe, tem muito mais opções que você pode aplicar para construir, otimizar, depurar e analisar seu código. Para obter uma lista rápida, digite cl /? no prompt de comando do desenvolvedor. Você também pode compilar e vincular separadamente e aplicar opções de vinculador em cenários de compilação mais complexos. Para obter mais informações sobre as opções e o uso do compilador e do vinculador, consulte Referência de construção C/C++.

Você pode usar NMAKE e makefiles, ou MSBuild e arquivos de projeto para configurar e criar projetos mais complexos na linha de comando. Para obter mais informações sobre como usar essas ferramentas, consulte Referência NMAKE e MSBuild.

As linguagens C e C++ são semelhantes, mas não iguais. O compilador MSVC usa uma regra básica para determinar qual linguagem usar quando compila seu código. Por padrão, o compilador MSVC trata todos os arquivos que terminam como .c código-fonte C e todos os arquivos que terminam como .cpp código-fonte C++. Para forçar o compilador a tratar todos os arquivos como C, independentemente da extensão de nome de arquivo, use a opção de compilador /TC .

Por padrão, o MSVC é compatível com as normas ANSI C89 e ISO C99, mas não está estritamente em conformidade. Na maioria dos casos, o código C portátil é compilado e executado conforme o esperado. O compilador fornece suporte opcional para as alterações na ISO C11 e C17. Para compilar com suporte a C11 e C17, use o sinalizador /std:c11 do compilador ou /std:c17. O suporte a C11 e C17 requer o Windows SDK 10.0.20201.0 ou posterior. Windows SDK 10.0.22000.0 ou posterior é recomendado. Você pode baixar o SDK mais recente na página SDK do Windows . Para obter mais informações e instruções sobre como instalar e usar esse SDK para desenvolvimento em C, consulte Instalar suporte a C11 e C17 no Visual Studio.

Certas funções de biblioteca e nomes de funções POSIX são preteridos pelo MSVC. As funções são suportadas, mas os nomes preferidos foram alterados. Para obter mais informações, consulte Recursos de segurança no CRT e Aviso docompilador (nível 3) C4996.

Ver também