Udostępnij za pośrednictwem


Kompilowanie biblioteki importowanej oraz pliku eksportowanego

Aby utworzyć bibliotekę importu i plik eksportu, użyj następującej składni:

LIB /DEF[:deffile] [opcje] [objfiles] [biblioteki]

Po określeniu /DEF biblioteka LIB tworzy pliki wyjściowe ze specyfikacji eksportu, które są przekazywane w poleceniu LIB. Istnieją trzy metody określania eksportów wymienione w zalecanej kolejności użycia:

  1. __declspec(dllexport) Definicja w jednym z objfiles lub bibliotek

  2. Specyfikacja /EXPORT:name w wierszu polecenia LIB

  3. Definicja w instrukcji EXPORT w pliku deffile

Są to te same metody, których używasz do określania eksportów podczas łączenia programu eksportu. Program może używać więcej niż jednej metody. Możesz określić części polecenia LIB (takie jak wiele objfiles lub /EXPORT specifications) w pliku poleceń w poleceniu LIB, tak jak w poleceniu LINK.

Następujące opcje dotyczą kompilowania biblioteki importu i pliku eksportu:

/OUT: import

Zastępuje domyślną nazwę pliku wyjściowego dla tworzonej biblioteki importu . Jeśli /OUT nie jest określony, domyślną nazwą jest nazwa podstawowa pierwszego pliku obiektu lub biblioteki w poleceniu LIB i rozszerzenie .lib. Plik eksportu ma taką samą nazwę podstawową jak biblioteka importu i rozszerzenie .exp.

/EXPORT: entryname[= internalname][,@ordinal[, NONAME]][, DATA]

Eksportuje funkcję z programu, aby umożliwić innym programom wywoływanie funkcji. Możesz również wyeksportować dane (przy użyciu słowa kluczowego DATA ). Eksporty są zwykle definiowane w dll.

Entryname to nazwa funkcji lub elementu danych, który ma być używany przez program wywołujący. Opcjonalnie można określić nazwę wewnętrzną jako funkcję znaną w programie definiującym; domyślnie nazwa wewnętrzna jest taka sama jak nazwa_wpisu. Porządkowy określa indeks do tabeli eksportu w zakresie od 1 do 65 535; jeśli nie określisz porządkowych, biblioteka LIB przypisuje jeden. Słowo kluczowe NONAME eksportuje funkcję tylko jako porządkową bez nazwy wpisu. Słowo kluczowe DATA służy do eksportowania obiektów tylko do danych.

/INCLUDE: symbol

Dodaje określony symbol do tabeli symboli. Ta opcja jest przydatna do wymuszania użycia obiektu biblioteki, który w przeciwnym razie nie zostanie uwzględniony.

Należy pamiętać, że jeśli tworzysz bibliotekę importu w wstępnym kroku, przed utworzeniem .dll należy przekazać ten sam zestaw plików obiektów podczas kompilowania .dll, jak przekazano podczas kompilowania biblioteki importu.

Zobacz też

Praca z bibliotekami importowanymi oraz plikami eksportowanymi