Partager via


Procédure pas à pas : Compiler un programme C sur la ligne de commande

Visual Studio Build Tools inclut un compilateur C que vous pouvez utiliser pour créer tout, des programmes de console de base aux applications de bureau Windows complètes et aux applications mobiles. Microsoft C++ (MSVC) Build Tools contient un compilateur C et C++ qui, dans ses dernières versions, est conforme à certaines des dernières normes du langage C, notamment C11 et C17.

Ce guide explique comment créer un programme C de type Hello, World-style C de base à l’aide d’un éditeur de texte, puis le compiler sur la ligne de commande. Si vous préférez travailler en C++ en ligne de commande, consultez Procédure pas à pas : compilation d’un programme C++ natif en ligne de commande. Si vous souhaitez essayer l’IDE Visual Studio au lieu d’utiliser la ligne de commande, consultez Procédure pas à pas : utilisation de projets et de solutions (C++) ou Utilisation de l’IDE de Visual Studio pour le développement desktop en C++.

Prerequisites

  • Soit Visual Studio, soit les outils de build pour Visual Studio et la charge de travail développement Desktop en C++

    • Visual Studio est un environnement de développement intégré puissant qui prend en charge un éditeur complet, des gestionnaires de ressources, des débogueurs et des compilateurs pour de nombreux langages et plateformes. Pour plus d’informations sur ces fonctionnalités et sur la façon de télécharger et d’installer Visual Studio, y compris l’édition gratuite Visual Studio Community, consultez Installer Visual Studio.
    • Les outils de génération pour Visual Studio installent uniquement l’ensemble d’outils en ligne de commande, les compilateurs, les outils et les bibliothèques dont vous avez besoin pour générer des programmes C et C++. Il est parfait pour créer des labs ou des exercices de classe et s’installe relativement rapidement. Pour installer uniquement l’ensemble d’outils en ligne de commande, téléchargez les outils de génération pour Visual Studio à partir de la page téléchargements de Visual Studio et exécutez le programme d’installation. Dans le programme d’installation Visual Studio, sélectionnez la charge de travail Développement desktop avec C++ (dans les versions antérieures de Visual Studio, sélectionnez la charge de travail Outils de génération C++), puis choisissez Installer.
  • Compilateur MSVC

    • MSVC a des exigences complexes en matière de recherche d’outils, d’en-têtes et de bibliothèques pour l’environnement en ligne de commande. Vous ne pouvez pas utiliser MSVC dans une fenêtre d’invite de commandes simple sans préparation. Vous avez besoin d’une fenêtre d’invite de commandes développeur, qui est une fenêtre d’invite de commandes standard qui a tous les variables d’environnement requises définies. Heureusement, Visual Studio installe des raccourcis pour vous permettre de lancer des invites de commandes développeur sur lesquelles l’environnement est configuré pour les builds en ligne de commande. Malheureusement, les noms des raccourcis d’invites de commandes développeur et leur emplacement sont différents dans presque toutes les versions de Visual Studio et sur différentes versions de Windows. Votre première tâche consiste à trouver le raccourci approprié à utiliser.

Note

Un raccourci d’invites de commandes développeur définit automatiquement les chemins appropriés pour le compilateur et les outils, ainsi que pour tous les en-têtes et bibliothèques requis. Certaines de ces valeurs sont différentes pour chaque configuration de build. Vous devez définir vous-même ces valeurs d’environnement si vous n’utilisez pas l’un des raccourcis. Pour plus d’informations, consultez Utiliser l’ensemble d’outils MSVC à partir de la ligne de commande. Étant donné que l’environnement de build est complexe, nous vous recommandons vivement d’utiliser un raccourci d’invites de commandes développeur au lieu de créer votre propre environnement.

Ces instructions varient selon la version de Visual Studio que vous utilisez. Pour afficher la documentation de votre version préférée de Visual Studio, utilisez le sélecteur de version situé en haut de la table des matières de cette page.

Ouvrir une invite de commandes développeur dans Visual Studio 2022

Si vous avez installé Visual Studio 2022 sur Windows 10 ou version ultérieure, ouvrez le menu Démarrer et choisissez Toutes les applications. Ensuite, faites défiler vers le bas et ouvrez le dossier Visual Studio 2022 (et non l’application Visual Studio 2022). Choisissez Invite de commandes développeur pour VS 2022 pour ouvrir la fenêtre d’invite de commandes.

Ouvrir une invite de commandes développeur dans Visual Studio 2019

Si vous avez installé Visual Studio 2019 sur Windows 10 ou version ultérieure, ouvrez le menu Démarrer et choisissez Toutes les applications. Ensuite, faites défiler vers le bas et ouvrez le dossier Visual Studio 2019 (et non l’application Visual Studio 2019). Choisissez Invite de commandes développeur pour VS 2019 pour ouvrir la fenêtre d’invite de commandes.

Ouvrir une invite de commandes développeur dans Visual Studio 2017

Si vous avez installé Visual Studio 2017 sur Windows 10 ou version ultérieure, ouvrez le menu Démarrer et choisissez Toutes les applications. Ensuite, faites défiler vers le bas et ouvrez le dossier Visual Studio 2017 (et non l’application Visual Studio 2017). Choisissez Invite de commandes développeur pour VS 2017 pour ouvrir la fenêtre d’invite de commandes.

Ouvrir une invite de commandes développeur dans Visual Studio 2015

Si vous avez installé Microsoft Visual C++ Build Tools 2015 sur Windows 10 ou version ultérieure, ouvrez le menu Démarrer et choisissez Toutes les applications. Ensuite, faites défiler vers le bas et ouvrez le dossier Visual C++ Build Tools. Choisissez Invite de commandes des outils natifs x64 pour VS 2015 pour ouvrir la fenêtre d’invite de commandes.

Si vous utilisez une autre version de Windows, recherchez dans votre menu Démarrer ou page de démarrage un dossier d’outils Visual Studio contenant un raccourci d’invite de commandes développeur. Vous pouvez également utiliser la fonction de recherche Windows pour rechercher l’invite de commandes développeur et choisir celle qui correspond à votre version installée de Visual Studio. Utilisez le raccourci pour ouvrir la fenêtre d’invite de commandes.

Ensuite, vérifiez que l’invite de commandes développeur est configurée correctement. Dans la fenêtre d’invite de commandes, entrez cl (ou CL, sans importance pour le nom du compilateur, mais affecte les options du compilateur). Le résultat doit ressembler à ce qui suit :

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

Il peut y avoir des différences dans le répertoire actif ou les numéros de version, en fonction de la version de Visual Studio et des mises à jour installées. Si la sortie précédente est similaire à ce que vous voyez, vous êtes prêt à générer des programmes C ou C++ sur la ligne de commande.

Note

Si vous obtenez une erreur telle que « cl » n’est pas reconnue comme une commande interne ou externe, un programme opérable ou un fichier batch, une erreur C1034 ou une erreur LNK1104 lorsque vous exécutez la cl commande, alors vous n’utilisez pas d’invite de commandes développeur, ou quelque chose est incorrect avec votre installation de Visual Studio. Vous devez résoudre ce problème avant de pouvoir continuer.

Si vous ne trouvez pas le raccourci d’invite de commandes développeur ou si vous recevez un message d’erreur lorsque vous entrez cl, votre installation de Visual Studio peut avoir un problème. Si vous utilisez Visual Studio 2017 ou version ultérieure, essayez de réinstaller la charge de travail Développement Desktop en C++ dans le programme d’installation de Visual Studio. Pour plus d’informations, consultez Installer la prise en charge de C++ dans Visual Studio. Ou réinstallez les outils de génération à partir de la page téléchargements de Visual Studio . Ne passez pas à la section suivante tant que la commande cl ne fonctionne pas. Pour plus d’informations sur l’installation et le dépannage de Visual Studio, consultez Installer Visual Studio.

Note

Selon la version de Windows sur l’ordinateur et la configuration de sécurité système, vous devrez peut-être cliquer avec le bouton droit pour ouvrir le menu contextuel de l’invite de commandes développeur, puis choisir Exécuter en tant qu’administrateur pour générer et exécuter le programme que vous créez en suivant cette procédure pas à pas.

Créer un fichier source C et le compiler en ligne de commande

  1. Dans la fenêtre d’invite de commandes développeur, entrez cd c:\ pour définir le répertoire de travail actuel sur la racine de votre lecteur C:. Ensuite, entrez md c:\hello pour créer un répertoire, puis entrez cd c:\hello pour passer à ce répertoire. Ce répertoire contient votre fichier source et le programme compilé.

  2. Dans l’invite de commandes développeur, entrez notepad hello.c. Dans la boîte de dialogue d’alerte du Bloc-notes qui s’affiche, choisissez Oui pour créer un fichier hello.c dans votre répertoire de travail.

  3. Dans le Bloc-notes, entrez les lignes de code suivantes :

    #include <stdio.h>
    
    int main()
    {
        printf("Hello, World! This is a native C program compiled on the command line.\n");
        return 0;
    }
    
  4. Dans la barre de menus du Bloc-notes, choisissez Fichier>Enregistrer pour enregistrer hello.c dans votre répertoire de travail.

  5. Revenez à la fenêtre d’invite de commandes développeur. Entrez dir dans l’invite de commandes pour lister le contenu du répertoire c:\hello. Vous devez voir le fichier hello.c source dans la liste des répertoires, qui ressemble à ceci :

    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
    
    

    Les dates et d’autres détails seront différents sur votre ordinateur. Si vous ne voyez pas votre fichier de code source hello.c, vérifiez que vous avez basculé sur le répertoire c:\hello que vous avez créé et, dans le Bloc-notes, vérifiez que vous avez enregistré votre fichier source dans ce répertoire. Vérifiez également que vous avez enregistré le code source avec une extension de nom de fichier .c, et non une extension .txt.

  6. Pour compiler votre programme, entrez cl hello.c à l’invite de commandes du développeur.

    Vous pouvez voir le nom du programme exécutable, hello.exedans les lignes d’informations de sortie affichées par le compilateur :

    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
    

    Note

    Si vous obtenez une erreur telle que « cl » n’est pas reconnue comme une commande interne ou externe, un programme opérable ou un fichier batch, une erreur C1034 ou une erreur LNK1104, l’invite de commandes du développeur n’est pas configurée correctement. Pour plus d’informations sur la résolution de ce problème, revenez à la section Ouvrir une invite de commandes développeur.

    Si vous obtenez une autre erreur ou avertissement du compilateur ou de l’éditeur de liens, passez en revue votre code source pour corriger les erreurs, puis enregistrez-le et réexécutez le compilateur. Pour plus d’informations sur des erreurs spécifiques, utilisez la zone de recherche en haut de cette page pour rechercher le numéro d’erreur.

  7. Pour exécuter votre programme, entrez hello dans l’invite de commandes.

    Le programme affiche ce texte puis se ferme :

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

    Félicitations, vous avez compilé et exécuté un programme C en ligne de commande.

Étapes avancées

Cet exemple Hello, World est aussi simple qu’un programme C peut obtenir. Les programmes réels ont des fichiers d’en-tête, davantage de fichiers sources, lient des bibliothèques et réalisent un travail utile.

Vous pouvez utiliser les étapes décrites dans cette procédure pas à pas pour générer votre propre code C au lieu de taper l’exemple de code affiché. Vous pouvez également créer de nombreux exemples de programmes en code C que vous trouvez ailleurs. Pour compiler un programme qui contient davantage de fichiers de code source, entrez-les tous dans la ligne de commande :

cl file1.c file2.c file3.c

Le compilateur génère un programme appelé file1.exe. Pour modifier le nom en program1.exe, ajoutez une option /out de l’éditeur de lien :

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

Pour intercepter automatiquement d’autres erreurs de programmation, nous vous recommandons de compiler à l’aide de l’option de niveau d’avertissement /W3 ou /W4 :

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

Le compilateur, cl.exea de nombreuses options supplémentaires que vous pouvez appliquer pour générer, optimiser, déboguer et analyser votre code. Pour obtenir une liste rapide, entrez cl /? dans l’invite de commandes développeur. Vous pouvez également effectuer séparément la compilation, la liaison et l’application des options d’éditeur de liens dans des scénarios de génération plus complexes. Pour plus d’informations sur les options et l’utilisation du compilateur et de l’éditeur de liens, consultez Référence sur la génération C/C++.

Vous pouvez utiliser NMAKE et makefiles, ou MSBuild et les fichiers de projet pour configurer et générer des projets plus complexes en ligne de commande. Pour plus d’informations sur l’utilisation de ces outils, consultez Référence sur NMAKE et Référence sur MSBuild.

Les langages C et C++ sont similaires, mais pas identiques. Le compilateur MSVC utilise une règle de base pour déterminer le langage à utiliser lorsqu’il compile votre code. Par défaut, le compilateur MSVC traite tous les fichiers se terminant par .c comme code source C et tous les fichiers se terminant par .cpp comme code source C++. Pour forcer le compilateur à traiter tous les fichiers comme contenant du C, quelle que soit l’extension de nom de fichier, utilisez l’option /TC du compilateur.

Par défaut, MSVC est compatible avec les normes ANSI C89 et ISO C99, mais pas strictement conforme. Dans la plupart des cas, le code C portable compile et s’exécute comme prévu. Le compilateur fournit une prise en charge facultative des modifications dans ISO C11 et C17. Pour compiler avec la prise en charge de C11 et C17, utilisez l’indicateur /std:c11 du compilateur ou /std:c17. La prise en charge de C11 et C17 nécessite le Kit de développement logiciel (SDK) Windows 10.0.20201.0 ou version ultérieure. Le SDK Windows 10.0.22000.0 ou version ultérieure est recommandé. Vous pouvez télécharger le SDK le plus récent à partir de la SDK Windows. Pour plus d’informations et obtenir des instructions sur l’installation et l’utilisation de SDK pour le développement en C, consultez Installer la prise en charge de C11 et C17 dans Visual Studio.

Certaines fonctions de bibliothèque et noms de fonctions POSIX sont abandonnées dans MSVC. Les fonctions sont prises en charge, mais les noms à utiliser de préférence ont changé. Pour plus d’informations, consultez Fonctionnalités de sécurité dans le CRT et Avertissement du compilateur (niveau 3) C4996.

Voir aussi