CL appelle l'éditeur de liens

CL appelle automatiquement l’éditeur de liens après la compilation, sauf si l’option /c est utilisée. CL passe à l’éditeur de liens les noms des fichiers .obj créés pendant la compilation et les noms des autres fichiers spécifiés sur la ligne de commande. L’éditeur de liens utilise les options répertoriées dans la variable d’environnement LINK. Vous pouvez utiliser l’option /link pour spécifier les options de l’éditeur de liens sur la ligne de commande CL. Les options qui suivent l’option /link remplacent celles de la variable d’environnement LINK. Les options du tableau suivant suppriment la liaison.

Option Description
/c Compiler sans liaison
/E, /EP, /P Prétraitement sans compilation ni liaison
/Zg Générer des prototypes de fonction
/Zs Vérifier la syntaxe

Pour plus d’informations sur la liaison, consultez les options de l’éditeur de liens MSVC.

Exemple

Supposons que vous compilez trois fichiers sources C : MAIN.c, MOD1.c et MOD2.c. Chaque fichier inclut un appel à une fonction définie dans un fichier différent :

  • MAIN.c appelle la fonction func1 dans MOD1.c et la fonction func2 dans MOD2.c.

  • MOD1.c appelle les fonctions printf_s de bibliothèque standard et scanf_s.

  • MOD2.c appelle des fonctions graphiques nommées myline et mycircle, qui sont définies dans une bibliothèque nommée MYGRAPH.lib.

Pour générer ce programme, compilez avec la ligne de commande suivante :

CL MAIN.c MOD1.C MOD2.C MYGRAPH.lib

CL compile d’abord les fichiers sources C et crée les fichiers objet MAIN.obj, MOD1.obj et MOD2.obj. Le compilateur place le nom de la bibliothèque standard dans chaque fichier .obj. Pour plus d’informations, consultez Utiliser la bibliothèque d’exécution.

CL transmet les noms des fichiers .obj, ainsi que le nom MYGRAPH.lib, à l’éditeur de liens. L’éditeur de liens résout les références externes comme suit :

  1. Dans MAIN.obj, la référence à laquelle est func1 résolue à l’aide de la définition dans MOD1.obj ; la référence à func2 laquelle elle est résolue à l’aide de la définition dans MOD2.obj.

  2. Dans MOD1.obj, les références à et scanf_s sont résolues à printf_s l’aide des définitions de la bibliothèque que l’éditeur de liens trouve nommées dans MOD1.obj.

  3. Dans MOD2.obj, les références à et mycircle sont résolues à myline l’aide des définitions dans MYGRAPH.lib.

Voir aussi

Options du compilateur MSVC
Définition des options du compilateur