Compartir a través de


Compilar bibliotecas de importación y archivos de exportación

Para compilar una biblioteca de importación y un archivo de exportación, use la sintaxis siguiente:

LIB /DEF[:deffile] [options] [objfiles] [libraries]

Cuando se especifica /DEF, LIB crea los archivos de salida a partir de las especificaciones de exportación que se pasan en el comando LIB. Hay tres métodos para especificar exportaciones, que se enumeran en el orden de uso recomendado:

  1. Una definición __declspec(dllexport) en una de las bibliotecas o objfiles

  2. Una especificación de /EXPORT:name en la línea de comandos lib

  3. Una definición de una instrucción EXPORTS en un archivo deffile

Estos son los mismos métodos que se usan para especificar exportaciones al vincular un programa de exportación. Un programa puede usar más de un método. Puede especificar partes del comando LIB (como varias especificaciones objfiles o /EXPORT) en un archivo de comandos en el comando LIB, del mismo modo que en un comando LINK.

Las siguientes opciones se aplican a la creación de una biblioteca de importación y un archivo de exportación:

/OUT: importar

Invalida el nombre de archivo de salida predeterminado para la biblioteca import que se va a crear. Cuando no se especifica /OUT, el nombre predeterminado es el nombre base del primer archivo de objeto o biblioteca en el comando LIB y la extensión .lib. El archivo de exportación tiene el mismo nombre base que la biblioteca de importación y la extensión .exp.

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

Exporta una función desde el programa para permitir que otros programas llamen a la función. También puede exportar datos (mediante la palabra clave DATA). Las exportaciones se suelen definir en un archivo DLL.

Entryname es el nombre de la función o el elemento de datos, ya que el programa que realiza la llamada lo va a usar. Opcionalmente, puede especificar el internalname como la función conocida en el programa de definición; de forma predeterminada, internalname es el mismo que entryname. El ordinal especifica un índice en la tabla de exportación del intervalo de 1 a 65 535; si no especifica ordinal, LIB asigna uno. La palabra clave NONAME exporta la función solo como ordinal, sin un nombre de entrada. La palabra clave DATA se usa para exportar objetos de solo datos.

/INCLUDE: símbolo

Agrega el símbolo especificado a la tabla de símbolos. Esta opción es útil para forzar el uso de un objeto de biblioteca que, de lo contrario, no se incluiría.

Tenga en cuenta que si crea la biblioteca de importación en un paso preliminar, antes de crear la .dll, debe pasar el mismo conjunto de archivos objeto al compilar la .dll, tal y como lo hizo al compilar la biblioteca de importación.

Consulte también

Trabajar con bibliotecas de importación y archivos de exportación