CL vyvolává linker

CL po kompilaci automaticky vyvolá linker, pokud se nepoužije možnost /c. CL předá linkeru názvy souborů .obj vytvořených během kompilace a názvy všech ostatních souborů zadaných na příkazovém řádku. Linker používá možnosti uvedené v proměnné prostředí LINK. Pomocí možnosti /link můžete zadat možnosti linkeru na příkazovém řádku CL. Možnosti, které následují za možností /link, přepíší ty v proměnné prostředí LINK. Možnosti v následující tabulce potlačí propojení.

Možnost Popis
/c Kompilace bez propojení
/E, /EP, /P Předběžné zpracování bez kompilace nebo propojení
/Zg Generování prototypů funkcí
/Zs Kontrola syntaxe

Další podrobnosti o propojení najdete v tématu Možnosti linkeru MSVC.

Příklad

Předpokládejme, že kompilujete tři zdrojové soubory jazyka C: MAIN.c, MOD1.c a MOD2.c. Každý soubor obsahuje volání funkce definované v jiném souboru:

  • FUNKCE MAIN.c volá funkci func1 v MOD1.c a funkci func2 v MOD2.c.

  • MOD1.c volá standardní funkce printf_s knihovny a scanf_s.

  • MOD2.c volá grafické funkce pojmenované myline a mycircle, které jsou definovány v knihovně s názvem MYGRAPH.lib.

Chcete-li sestavit tento program, zkompilujte následující příkazový řádek:

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

CL nejprve zkompiluje zdrojové soubory jazyka C a vytvoří objektové soubory MAIN.obj, MOD1.obj a MOD2.obj. Kompilátor umístí název standardní knihovny do každého souboru .obj. Další podrobnosti najdete v tématu Použití knihovny za běhu.

CL předá do linkeru názvy souborů .obj spolu s názvem MYGRAPH.lib. Linker vyřeší externí odkazy následujícím způsobem:

  1. V souboru MAIN.obj se odkaz na func1 tento odkaz přeloží pomocí definice v souboru MOD1.obj. Odkaz na func2 soubor se přeloží pomocí definice v souboru MOD2.obj.

  2. V souboru MOD1.obj jsou odkazy na printf_s a scanf_s jsou vyřešeny pomocí definic v knihovně, kterou linker najde v souboru MOD1.obj.

  3. V SOUBORU MOD2.obj jsou odkazy na myline a mycircle jsou vyřešeny pomocí definic v souboru MYGRAPH.lib.

Viz také

Parametry kompilátoru MSVC
Nastavení možností kompilátoru