¿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
7
A
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?
Cuestiones relacionadas
- 1. Agregar Boost hace que la compilación de depuración dependa de las DLL de tiempo de ejecución de MSVC "no D"
- 2. Agregar DLL mediante programación en el tiempo de ejecución
- 3. Generación de ensamblado de DLL dinámicamente en tiempo de ejecución
- 4. C objetos en tiempo de ejecución, límites dll
- 5. ¿Cargar un dll COM en el tiempo de ejecución?
- 6. Comparación de tiempo en D
- 7. Nivel de ejecución solicitado para un dll
- 8. Usar una cadena como variable en tiempo de ejecución
- 9. método de llamada en tiempo de ejecución
- 10. Tiempo promedio de ejecución
- 11. interfaz entre exe y dll con diferente biblioteca de tiempo de ejecución de C/C++
- 12. Enlace de tiempo de ejecución estático/dinámico
- 13. D-Bus: ¿hay algo así como un "sniffer D-Bus"?
- 14. Cómo modificar la tabla de direcciones de importación para el DLL cargado en tiempo de ejecución
- 15. Error de comprobación en tiempo de ejecución # 0 cargando QueryFullProcessImageName desde kernel32.dll
- 16. Elija dinámicamente en el tiempo de ejecución qué versión de un .dll usar
- 17. Recopilación en tiempo de ejecución y en tiempo de ejecución C#
- 18. Cómo creo una DLL de Win32 sin una dependencia en el tiempo de ejecución de C
- 19. de compilación en tiempo de ejecución (generación DLL) dentro de una aplicación MVC 3
- 20. tiempo de ejecución "real" límite
- 21. Efecto de la DLL en la velocidad de ejecución
- 22. Registrar programáticamente HttpModules en tiempo de ejecución
- 23. tiempo de ejecución de mysql
- 24. MEF y ShadowCopying DLL para poder sobrescribirlos en tiempo de ejecución
- 25. ¿Tiene D 'newtype'?
- 26. burlarse en tiempo de ejecución en C?
- 27. symfony2 - Obtener tiempo de ejecución
- 28. find C++ tiempo de ejecución
- 29. Tiempo de ejecución del programa
- 30. Tiempo de ejecución en Ocaml
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 –
@ 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. –
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. –