zoukankan      html  css  js  c++  java
  • MFC中共享的DLL和静态的DLL的区别

    共享的DLL是说在编译的时候,程序自动在电脑的C:\WINDOWS\system32目录下找需要的DLL文件,这个只是针对与在该目录下已经有这些DLL文件的情况。

    静态的DLL是说在编译的时候把类库加到程序文件中,这个针对于在C:\WINDOWS\system32目录下找不到需要的DLL文件的情况。

    用VS2005写软件,在项目属性中有一项MFC的使用,有三种设置:

    1.使用标准Windows库
    2.在共享DLL中使用MFC
    3.在静态库中使用MFC
    不关移植性的事,第二种指的是打包时一些MFC的DLL的内容没有被包含在EXE文件中,所以EXE文件较小,但是运行时要求系统中要有相关的DLL文件,第三种是将DLL中的相关代码写进EXE文件中,文件较大,但是可以在没有相关DLL的机器上运行.


    一般选第二种,因为大多数系统中都会带有MFC 相关的DLL,因为许多程序都是用MFC做的,发布时会发布相关DLL,所以不用静态连接.

    VS2005的,系统带它的DLL的确实不多,用静态连接吧,另外楼上说效率没有区别,这是不对的,静态连接效率其实是要好一些的,因为不用加载DLL了.

    本人建议用静态的DLL,因为怕在别人的电脑上不能运行。

  • 相关阅读:
    【转】Git详解之六 Git工具
    【转】Git详解之五 分布式Git
    【转】Git详解之四 服务器上的Git
    【转】Git详解之三 Git分支
    【转】Git详解之二 Git基础
    【转】Git详解之一 Git起步
    【教】Windows下的Git入门
    <<万物简史>>第三章埃文斯牧师的宇宙
    上班两周
    记录一下
  • 原文地址:https://www.cnblogs.com/luoyaoquan/p/2022179.html
Copyright © 2011-2022 走看看