none
Use MFC in a Static Library / Use MFC in a Shared DLL Diferencias a la hora de compilar RRS feed

  • Pregunta

  • Buenas gente. Que diferencia hay entre Use MFC in a Shared DLL y Use MFC in a Static Library. Lo unico que se es que si no asigno una de estas dos opciones en modo Release mi solucion no compila, pero me gustaría saber porque y que diferencia hay entre uno y otro.

    Muchas gracias!

    Nof


    - Nof

    viernes, 18 de mayo de 2012 14:35

Respuestas

  • Las bibliotecas MFC y ATL vienen incluidas en Visual Studio de dos formas:  Una pre-compilada en la forma de un DLL y otra que no.  Si usted decide utilizar alguna de estas bibliotecas como DLL, entonces el tamaño final de su ejecutable será menor, pero entonces tiene que recordar incluir la DLL en su instalador.  Por otra parte, si utiliza static library, entonces su ejecutable no dependerá de una DLL externa, pero su tamaño será mayor.

    Jose R. MCP

    lunes, 21 de mayo de 2012 13:55
    Moderador
  • En general Microsoft recomienda usar las versiones con DLL porque así, de producirse algún fallo de seguridad, los instaladores de Windows Update son lo suficientemente inteligentes como para buscar esas DLL y parchearlas, lo que no ocurrirá en el caso de que el programa sea un ejecutable estático...

    MVP Visual C++ - Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/

    lunes, 28 de mayo de 2012 14:33
    Moderador

Todas las respuestas

  • Las bibliotecas MFC y ATL vienen incluidas en Visual Studio de dos formas:  Una pre-compilada en la forma de un DLL y otra que no.  Si usted decide utilizar alguna de estas bibliotecas como DLL, entonces el tamaño final de su ejecutable será menor, pero entonces tiene que recordar incluir la DLL en su instalador.  Por otra parte, si utiliza static library, entonces su ejecutable no dependerá de una DLL externa, pero su tamaño será mayor.

    Jose R. MCP

    lunes, 21 de mayo de 2012 13:55
    Moderador
  • En general Microsoft recomienda usar las versiones con DLL porque así, de producirse algún fallo de seguridad, los instaladores de Windows Update son lo suficientemente inteligentes como para buscar esas DLL y parchearlas, lo que no ocurrirá en el caso de que el programa sea un ejecutable estático...

    MVP Visual C++ - Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/

    lunes, 28 de mayo de 2012 14:33
    Moderador