Una librería de enlace dinámico o DLL, permite a una aplicación cargar sólo el código ejecutable mínimo necesario en la memoria durante la ejecución. Cada vez que el programa llama a una función en una DLL, el sistema operativo carga la DLL en la memoria , de acuerdo con las especificaciones del programador . Mientras el programa en ejecución no hace referencia a una función de DLL , la DLL no necesita ocupar un espacio . Esto ahorra recursos y aumenta el rendimiento en tiempo de ejecución . Si la biblioteca no son estáticas , todo el código de la biblioteca se adjunta al código ejecutable del programa principal y el programa gigante tendría que permanecer en la memoria de todo el tiempo de ejecución. La versión de Unix o Linux de una DLL de Windows es una biblioteca de objetos compartidos que se construye con la extensión SO . Windows, Unix y Linux tienen convenios específicos para acceder a funciones de DLL o bibliotecas compartidas . Instrucciones de Exportación XML de objetos de Windows DLL Uso Preprocessor Keyword
1
En el archivo de encabezado DLL, ponen el " __declspec ( dllexport ) " antes de la palabra clave en el prototipo de una función , clase, miembro de clase o variable de datos en el archivo DLL . Esta palabra clave se suma el prototipo de la función de tabla de exportación del archivo DLL.
2
Utilice valores ordinales 1 a N en lugar de la función o la clase nombres de los miembros para conservar el espacio ocupado por la tabla de exportación del archivo DLL, donde N es el número de objetos o funciones en la DLL.
3
Agregue el " __declspec ( dllimport ) " palabra clave antes de que los prototipos de las funciones correspondientes en el programa o DLL que llama. El llamar a las importaciones del programa las funciones que las exportaciones de DLL .
Exportar funciones DLL de Windows utilizando un módulo de archivo de definición de
4
Crear un archivo de texto con la extensión DEF y agregarlo . para el proyecto de la DLL en Visual Studio
5
Agregar la declaración " BIBLIOTECA " con el nombre de la DLL después de la siguiente manera:
BIBLIOTECA ReportWriter
6
Opcionalmente añadir una breve descripción de línea para la DLL de la siguiente manera :
DESCRIPCIÓN se trata de una DLL para la funcionalidad de generación de informes en MyProduct
Esto se recomienda
. . Página 7
Añada una entrada para cada función o un miembro de la clase que la DLL quiere exportar , con un número cardinal opcional. El número cardinal representa la función y toma valores de 1 a N , donde N es el número de funciones exportadas por la DLL . He aquí un ejemplo :
RPT_init @ 1RPT_design @ 2RPT_run @ 3RPT_print @ 4
Después de vincular todas las fuentes y el archivo DEF , el compilador crea un archivo de exportación con la extensión EXP y un archivo de biblioteca de importación , con la extensión de LIB . El compilador utiliza el archivo de CAD para crear la DLL. El archivo LIB se vincula al programa de llamada y contiene información acerca de la importación de las funciones de la DLL.