Sestavení knihovny importu a souboru exportu
K vytvoření knihovny importu a souboru exportu použijte následující syntaxi:
LIB /DEF[:deffile] [options] [objfiles] [libraries]
Pokud je zadán /DEF, knihovna LIB vytvoří výstupní soubory ze specifikací exportu, které jsou předány v příkazu LIB. Existují tři metody pro určení exportů, které jsou uvedeny v doporučeném pořadí použití:
Definice
__declspec(dllexport)
v jednom z objfile nebo knihovenSpecifikace /EXPORT:name na příkazovém řádku LIB
Definice v příkazu EXPORT v deffile
Jedná se o stejné metody, které používáte k určení exportu při propojení programu pro export. Program může použít více než jednu metodu. Části příkazu LIB (například více souborů objfile nebo specifikace /EXPORT) můžete zadat v příkazovém souboru v příkazu LIB stejně jako v příkazu LINK.
Následující možnosti platí pro vytvoření knihovny importu a souboru exportu:
/OUT: import
Přepíše výchozí název výstupního souboru pro vytvářenou knihovnu importu. Pokud není zadán /OUT, výchozí název je základní název prvního souboru objektu nebo knihovny v příkazu LIB a přípony .lib. Soubor exportu má stejný základní název jako knihovna importu a příponu .exp.
/EXPORT: entryname[= internalname][,@ordinal[, NONAME][, DATA]
Exportuje funkci z programu, aby ostatní programy mohly funkci volat. Data můžete také exportovat (pomocí klíčového slova DATA ). Exporty jsou obvykle definovány v knihovně DLL.
Název položky je název funkce nebo datové položky, protože se má používat volajícím programem. Volitelně můžete zadat interní název jako funkci známou v definujícím programu. Ve výchozím nastavení je interní název stejný jako název položky. Pořadový řádek určuje index do tabulky exportu v rozsahu 1 až 65 535. Pokud nezadáte pořadové číslo, funkce LIB ho přiřadí. Klíčové slovo NONAME exportuje funkci pouze jako řadový název bez názvu položky. Klíčové slovo DATA slouží k exportu objektů jen pro data.
/INCLUDE: symbol
Přidá zadaný symbol do tabulky symbolů. Tato možnost je užitečná pro vynucení použití objektu knihovny, který by jinak nebyl zahrnut.
Všimněte si, že pokud knihovnu importu vytvoříte v předběžném kroku před vytvořením .dll, musíte při sestavování .dll předat stejnou sadu souborů objektů, jak jste předali při vytváření knihovny importu.