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,因为怕在别人的电脑上不能运行。

  • 相关阅读:
    03.redis集群
    02.redis数据同步
    01.redis数据类型
    06.MySQL主从同步
    05.MySQL优化
    04.MySQL慢查询
    lamp服务器站点目录被植入广告代码
    tar命令简单用法
    linux基础优化
    Linux 思想与法则
  • 原文地址:https://www.cnblogs.com/luoyaoquan/p/2022179.html
Copyright © 2011-2022 走看看