Udostępnij za pośrednictwem


CL wywołuje program łączący

CL wywołuje automatycznie łączący po kompilacji, chyba że używana jest opcja/c.Przekazuje CL program łączący nazwy plików .obj utworzone podczas kompilacji i nazwy innych plików, określonego w wierszu polecenia.Program łączący korzysta z opcji na liście zmiennej środowiskowej łącze.Aby określić opcje wiersza polecenia CL linker, można użyć opcji /link.Opcje, które należy wykonać opcja /link zastępują w zmiennej środowiskowej łącze.W poniższej tabeli przedstawiono opcje Pomiń łączenia.

Opcja

Opis

/c

Skompiluj bez łączenia

/ /P E, /EP,

Preprocesorem bez kompilacji lub łączenia

/ZG

Generowanie prototypy funkcji

/ZS

Sprawdzanie składni

Aby uzyskać dalsze szczegóły na temat łączenia, zobacz Opcje Linker.

Przykład

Załóżmy, że są kompilowania plików źródłowych trzy C: MAIN.c, MOD1.c i MOD2.c.Każdy plik zawiera wywołanie funkcji, zdefiniowany w innym pliku:

  • MAIN.c wywołuje funkcję func1 w MOD1.c, a funkcja func2 w MOD2.c.

  • MOD1.c wywołuje funkcje biblioteki standardowej printf_s i scanf_s.

  • MOD2.c wywołuje funkcje grafiki o nazwie myline i mycircle, które są zdefiniowane w bibliotece, o nazwie MYGRAPH.lib.

Aby utworzyć ten program, kompilacji z następującego wiersza polecenia:

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

CL najpierw kompiluje pliki źródłowe c i tworzy pliki obiektu MAIN.obj, MOD1.obj i MOD2.obj.Kompilator umieszcza nazwę biblioteki standardowej w każdym pliku .obj.Aby uzyskać więcej informacji, zobacz Wykorzystania Run-Time Library.

CL przekazuje nazwy plików .obj, wraz z nazwą MYGRAPH.lib, program łączący.Program łączący ustali odwołania zewnętrzne w następujący sposób:

  1. W MAIN.obj, odniesienie do func1 został rozwiązany przy użyciu definicji w MOD1.obj; odniesienie do func2 został rozwiązany przy użyciu definicji w MOD2.obj.

  2. W MOD1.obj, odniesienia do printf_s i scanf_s są rozwiązywane przy użyciu definicji w bibliotekę, w której znajduje się program łączący o nazwie w MOD1.obj.

  3. W MOD2.obj, odniesienia do myline i mycircle są rozwiązywane przy użyciu definicji w MYGRAPH.lib.

Zobacz też

Informacje

Opcje kompilatora

Ustawianie opcji kompilatora