黑夜的狼

沮丧吗,那就是一种无病呻吟!留恋它就是一种高度近视!目光应该放得更远一点! 别不想飞,只是要一步跨过太平洋!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1. 使用MFC作为共享的DLL ,使用MFC作为静态链接库 二者有何区别!

 

动态连接库是在程序运行时加载到内存中的。 
静态库是在编译时跟目标文件一起被编译的。
使用动态链接时可能需要把一些库一起打包,以防止有的机子上没有该库文件或者版本不兼容而出现的库的依赖问题;
使用静态链接,会把程序所需的库一起编译,生成的文件可能会大些,但是可执行文件移植时不会出错。

静态链接库需要单独提供以便重新载入内存供本程序使用.共享的很明显就是使用在内存中已被载入的共享的相关DLL.

因为大多数程序都需要调用一些共同的DLL 所以 选择共享的话你就可以不必再让程序重新加载这个DLL.

 

VC工程-设置里的使用MFC作为共享的DLL ,使用MFC作为静态链接库,这两选择就是让你选择使用动态库还是使用静态库。
选择动态库(使用MFC作为共享的DLL)的话,就是在发布程序时要把mfc42.dll,msvcrt.dll这两个文件一同打包。
选择静态库(使用MFC作为静态链接库)就是生成的文件会大些。
动态加载和静态加载只不过是动态库加载的两种方式。

posted on 2010-04-06 14:21  anncesky  阅读(111)  评论(0编辑  收藏  举报