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

  • 相关阅读:
    什么是MIME
    bit/byte/英文字符/汉字之间的换算及java八大基本数据类型的占字节数
    js 上传文件大小检查
    java.toString() ,(String),String.valueOf的区别
    java 下载文件的样例
    回调函数分析
    IO流详析
    各个秒之间的换算率
    内边距:
    Less-6【报错+BOOL类型】
  • 原文地址:https://www.cnblogs.com/luoyaoquan/p/2022179.html
Copyright © 2011-2022 走看看