Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Cl automatycznie wywołuje konsolidator po skompilowaniu, chyba że jest używana opcja /c. Cl przekazuje do konsolidatora nazwy plików .obj utworzonych podczas kompilowania oraz nazwy innych plików określonych w wierszu polecenia. Konsolidator używa opcji wymienionych w zmiennej środowiskowej LINK. Opcji /link można użyć, aby określić opcje konsolidatora w wierszu polecenia CL. Opcje, które są zgodne z /link opcji zastąpić te w zmiennej środowiskowej LINK. Opcje w poniższej tabeli pomijają łączenie.
| Opcja | Opis |
|---|---|
| /c | Kompilowanie bez łączenia |
| /E, /EP, /P | Wstępne przetwarzanie bez kompilowania lub łączenia |
| /Zg | Generowanie prototypów funkcji |
| /Zs | Sprawdzanie składni |
Aby uzyskać więcej informacji na temat łączenia, zobacz MSVC Linker Options (Opcje konsolidatora MSVC).
Przykład
Załóżmy, że kompilujesz trzy pliki źródłowe języka C: MAIN.c, MOD1.c i MOD2.c. Każdy plik zawiera wywołanie funkcji zdefiniowanej w innym pliku:
MAIN.c wywołuje funkcję
func1w MOD1.c i funkcjęfunc2w MOD2.c.MOD1.c wywołuje standardowe funkcje
printf_sbiblioteki iscanf_s.MOD2.c wywołuje funkcje graficzne o nazwie
mylineimycircle, które są zdefiniowane w bibliotece o nazwie MYGRAPH.lib.
Aby skompilować ten program, skompiluj go przy użyciu następującego wiersza polecenia:
CL MAIN.c MOD1.C MOD2.C MYGRAPH.lib
CL najpierw kompiluje pliki źródłowe języka C i tworzy pliki obiektów MAIN.obj, MOD1.obj i MOD2.obj. Kompilator umieszcza nazwę standardowej biblioteki w każdym pliku .obj. Aby uzyskać więcej informacji, zobacz Używanie biblioteki czasu wykonywania.
CL przekazuje nazwy plików .obj wraz z nazwą MYGRAPH.lib do konsolidatora. Konsolidator rozpoznaje odwołania zewnętrzne w następujący sposób:
W MAIN.obj odwołanie do
func1jest rozpoznawane przy użyciu definicji w MOD1.obj; odwołanie dofunc2jest rozpoznawane przy użyciu definicji w MOD2.obj.W MOD1.obj odwołania do
printf_siscanf_ssą rozpoznawane przy użyciu definicji w bibliotece, które znajduje konsolidator o nazwie w MOD1.obj.W MOD2.obj odwołania do
mylineimycirclesą rozpoznawane przy użyciu definicji w pliku MYGRAPH.lib.