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

Para compilar una biblioteca de importación, que es también un archivo de exportación, utilice la sintaxis siguiente:

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

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

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

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

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

Éstos son los mismos métodos que deberá utilizar para especificar exportaciones al vincular un programa exportador.Un programa puede utilizar más de un método.Puede especificar partes del comando LIB (como varios archivos (objfiles) o especificaciones /EXPORT) en un archivo de comandos del comando LIB, de la misma manera que en un comando LINK.

Al compilar una biblioteca de importación y un archivo de exportación puede utilizar las siguientes opciones:

  • /OUT: import
    Reemplaza el nombre de archivo de salida predeterminado para la biblioteca de importación que se está creando.Cuando no se especifica /OUT, el nombre predeterminado será el nombre base del primer archivo objeto o biblioteca de comando LIB, y le asigna la extensión .lib.Al archivo de exportación se le asigna el mismo nombre base que a la biblioteca de importación, con 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 archivos DLL.

    El valor de entryname es el nombre de la función o el elemento de datos que va a utilizar el programa que llama.De forma opcional, puede especificar el valor de internalname como la función conocida en el programa que define; de manera predeterminada, el valor de internalname coincide con el de entryname.El valor de ordinal especifica un índice en la tabla de exportación, comprendido en el intervalo de 1 a 65535; si no especifica el valor de ordinal, LIB asigna un valor.La palabra clave NONAME sólo exporta la función como un valor ordinal, sin un valor de entryname.La palabra clave DATA se utiliza para exportar objetos que sólo contienen datos.

  • /INCLUDE: symbol
    Agrega el símbolo especificado a la tabla de símbolos.Esta opción resulta útil para obligar al usuario a utilizar un objeto de biblioteca que no se podría incluir de otro modo.

Observe 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 cuando genere la .dll que cuando generó la biblioteca de importación.

Vea también

Referencia

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