Konsolidacja

W projekcie języka C++ krok łączenia jest wykonywany po skompilowaniu przez kompilator kodu źródłowego do plików obiektów (*.obj). Konsolidator (link.exe) łączy pliki obiektów w jeden plik wykonywalny.

Opcje konsolidatora można ustawić wewnątrz lub na zewnątrz Visual Studio. W Visual Studio uzyskujesz dostęp do opcji konsolidatora, klikając prawym przyciskiem myszy węzeł projektu w Eksplorator rozwiązań i wybierając pozycję Właściwości, aby wyświetlić strony właściwości. Wybierz pozycję Konsolidator w okienku po lewej stronie, aby rozwinąć węzeł i wyświetlić wszystkie opcje.

Składnia wiersza polecenia konsolidatora

Po uruchomieniu linku poza Visual Studio można określić dane wejściowe na jeden lub więcej sposobów:

  • W wierszu polecenia

  • Używanie plików poleceń

  • W zmiennych środowiskowych

LINK pierwsze opcje procesów określone w zmiennej środowiskowej LINK, a następnie opcje w kolejności, w której są określone w wierszu polecenia i w plikach poleceń. Jeśli opcja jest powtarzana z różnymi argumentami, ostatni przetworzony ma pierwszeństwo.

Opcje mają zastosowanie do całej kompilacji; do określonych plików wejściowych nie można zastosować żadnych opcji.

Aby uruchomić LINK.EXE, użyj następującej składni polecenia:

LINK arguments

Opcje arguments dołączania i nazwy plików i można je określić w dowolnej kolejności. Opcje są najpierw przetwarzane, a następnie pliki. Użyj co najmniej jednej spacji lub tabulatorów, aby oddzielić argumenty.

Uwaga

To narzędzie można uruchomić tylko w wierszu polecenia Visual Studio. Nie można go uruchomić z poziomu wiersza polecenia systemu lub z Eksplorator plików.

Wiersz polecenia

W wierszu polecenia opcja składa się z specyfikatora opcji, kreski (-) lub ukośnika (/), a następnie nazwy opcji. Nie można skrócić nazw opcji. Niektóre opcje przyjmują argument określony po dwukropku (:). W ramach specyfikacji opcji nie są dozwolone żadne spacje ani karty, z wyjątkiem ciągu cytowanego w opcji /COMMENT. Określ argumenty liczbowe w notacji dziesiętnej lub W języku C. Nazwy opcji i ich argumenty słowa kluczowego lub nazwy pliku nie są uwzględniane wielkości liter, ale identyfikatory, ponieważ argumenty są uwzględniane wielkości liter.

Aby przekazać plik do konsolidatora, określ nazwę pliku w wierszu polecenia po poleceniu LINK. Możesz określić ścieżkę bezwzględną lub względną z nazwą pliku i można użyć symboli wieloznacznych w nazwie pliku. Jeśli pominięto rozszerzenie kropki (.) i nazwy pliku, link zakłada ,obj w celu znalezienia pliku. LINK nie używa rozszerzeń nazw plików ani ich braku, aby założyć założenia dotyczące zawartości plików; określa typ pliku, sprawdzając go i odpowiednio go przetwarza.

link.exe zwraca zero dla powodzenia (bez błędów). W przeciwnym razie konsolidator zwraca numer błędu, który zatrzymał łącze. Jeśli na przykład konsolidator generuje LNK1104, konsolidator zwraca wartość 1104. W związku z tym najniższa liczba błędów zwracana przez konsolidatora wynosi 1000. Wartość zwracana 128 reprezentuje problem z konfiguracją systemu operacyjnego lub pliku .config; moduł ładujący nie załadował link.exe ani c2.dll.

Argumenty wiersza polecenia można przekazać do linku w postaci pliku polecenia. Aby określić plik polecenia konsolidatora, użyj następującej składni:

LINK @commandfile

Plik polecenia jest nazwą pliku tekstowego. Między znakiem (@) i nazwą pliku nie jest dozwolone żadne miejsce lub karta. Brak rozszerzenia domyślnego; Należy określić pełną nazwę pliku, w tym dowolne rozszerzenie. Nie można używać symboli wieloznacznych. Możesz określić ścieżkę bezwzględną lub względną z nazwą pliku. Link nie używa zmiennej środowiskowej do wyszukiwania pliku.

W pliku polecenia argumenty mogą być oddzielone spacjami lub tabulatorami (jak w wierszu polecenia) i znakami nowego wiersza polecenia.

Można określić wszystkie lub część wiersza polecenia w pliku polecenia. W poleceniu LINK można użyć więcej niż jednego pliku polecenia. Link akceptuje dane wejściowe pliku polecenia tak, jakby zostały określone w tej lokalizacji w wierszu polecenia. Plików poleceń nie można zagnieżdżać. LINK powtarza zawartość plików poleceń, chyba że określono / NOLOGO opcji.

Przykład

Następujące polecenie do utworzenia biblioteki DLL przekazuje nazwy plików obiektów i bibliotek w oddzielnych plikach poleceń i używa trzeciego pliku polecenia do specyfikacji /EXPORT opcji:

link /dll @objlist.txt @liblist.txt @exports.txt

Narzędzie LINK używa następujących zmiennych środowiskowych:

  • LINK i _LINK_, jeśli zdefiniowano. Narzędzie LINK poprzedza opcje i argumenty zdefiniowane w zmiennej środowiskowej LINK i dołącza opcje i argumenty zdefiniowane w zmiennej środowiskowej _LINK_ do argumentów wiersza polecenia przed przetworzeniem.

  • LIB, jeśli jest zdefiniowana. Narzędzia LINK używają ścieżki LIB podczas wyszukiwania obiektu, biblioteki lub innego pliku określonego w wierszu polecenia lub przez / BASE opcji. Używa również ścieżki LIB, aby znaleźć plik .pdb o nazwie w obiekcie. Zmienna LIB może zawierać co najmniej jedną specyfikację ścieżki oddzieloną średnikami. Jedna ścieżka musi wskazywać podkatalog \lib instalacji języka Visual C++.

  • PATH, jeśli narzędzie musi uruchomić CVTRES i nie może odnaleźć pliku w tym samym katalogu co link sam. (LINK wymaga CVTRES, aby połączyć plik res). ŚCIEŻKA musi wskazywać podkatalog \bin instalacji języka Visual C++.

  • TMP, aby określić katalog podczas łączenia plików OMF lub res.

Zobacz też

Dokumentacja kompilatora języka C/C++MSVC Opcje konsolidatoraModule-Definition(.def) Obsługa bibliotekDLL Delay-Loaded