dllexport, dllimport

Específicos de Microsoft

Los atributos de clase de almacenamiento de dllexport y dllimport son extensiones Microsoft- específicas de los lenguajes c y C++.Puede utilizarlos para exportar e importar funciones, datos, y objetos de o desde un archivo DLL.

__declspec( dllimport ) declarator __declspec( dllexport ) declarator

Comentarios

Estos atributos explícitamente definen la interfaz DLL al cliente, que puede ser el archivo ejecutable u otro archivo DLL.El tipo funciona como dllexport elimina la necesidad de un archivo de la módulo- definición (.def), por lo menos en relación con la especificación de funciones exportadas.El atributo de dllexport reemplaza la palabra clave de __export.

Si una clase está declspec marcado (dllexport), cualquier especialización de las plantillas de clase en la jerarquía de clases se marca implícitamente como declspec (dllexport).Esto significa que las plantillas de clase explícitamente se crean instancias y miembros de la clase deben definir.

dllexport de una función expone la función con el nombre representativo.Para las funciones de C++, esto incluye la destrucción del nombre.Para funciones de c o las funciones que se declaran como extern “C”, se incluyen la decoración plataforma- específica que se basa en la convención de llamada.Si no desea la decoración de nombres, utilice un archivo .def (palabra clave de EXPORTACIONES ).

Cuando se declara dllexport o dllimport, debe utilizar sintaxis de atributo extendido y la palabra clave de __declspec.

Ejemplo

// Example of the dllimport and dllexport class attributes
__declspec( dllimport ) int i;
__declspec( dllexport ) void func();

Opcionalmente, hacer el código más legible, puede utilizar definiciones de macro:

#define DllImport   __declspec( dllimport )
#define DllExport   __declspec( dllexport )

DllExport void func();
DllExport int i = 10;
DllImport int j;
DllExport int n;

Para obtener más información, vea:

TERMINE el específico de Microsoft

Vea también

Referencia

__declspec

Palabras clave de C++