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 funkcifunc2
v MOD2.c.MOD1.c volá standardní funkce
printf_s
knihovny ascanf_s
.MOD2.c volá grafické funkce pojmenované
myline
amycircle
, 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:
V souboru MAIN.obj se odkaz na
func1
tento odkaz přeloží pomocí definice v souboru MOD1.obj. Odkaz nafunc2
soubor se přeloží pomocí definice v souboru MOD2.obj.V souboru MOD1.obj jsou odkazy na
printf_s
ascanf_s
jsou vyřešeny pomocí definic v knihovně, kterou linker najde v souboru MOD1.obj.V SOUBORU MOD2.obj jsou odkazy na
myline
amycircle
jsou vyřešeny pomocí definic v souboru MYGRAPH.lib.
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro