2010-11-15 13 views
7

¿Alguien sabe si al menos el tiempo de ejecución D y Phobos para D 2 se predefinirán como DLL o al menos estarán listos para compilarse de esa manera? Actualmente, según tengo entendido, será necesario marcar todas las funciones y/o clases relevantes como exportación. No se pudo encontrar nada similar en las fuentes actuales de DMD. Gracias.D tiempo de ejecución como DLL

Respuesta

6

Actualmente, Phobos está disponible como archivo LIB preconstruido, que está vinculado estáticamente a su ejecutable durante la compilación.

Esto tiene algunas ventajas a DLL:

  • Despliegue - puedes estar siempre seguro de que el ejecutable tiene adecuada ejecución/GC/phobos disponible - el que se pone a prueba con su solicitud. Existe una nueva versión de Phobos y D runtime cada mes, el uso de DLL en este caso podría causar problemas de versiones.

Desventajas

  • tamaño ejecutable es ligeramente más grandes (100s de kb)
  • Cada "unidad" exe/dll tiene su propio colector de basura.

¿Por qué está investigando opciones de uso de DLL para Phobos? ¿Qué insuficiencias ves en el uso de LIB?

+0

1. Es más natural para el triunfo para tener este tipo de cosas en la DLL 2. sola instancia de tiempo de ejecución y GC para toda la aplicación 3. No hay binarios duplicación –

+5

@ meta-san no se preocupe por D's de tiempo de ejecución para unos pocos más años. Una vez que ha estado ABI estable por un año más o menos comenzarán a enviar DLL. Hasta entonces, versionar una biblioteca que cambia rápidamente solo crea más problemas de los que vale. –

+4

Honestamente, a menos que el tamaño binario * realmente * se convierta en un problema, no me preocuparían por las DLL. Son más problemas de lo que valen. –

Cuestiones relacionadas