ddc
联网
平面设计 画册 VI欣赏 包装 CG-插画 搜索 个人网页 Alexa排名 CSS 建站资源 下载专区 JS特效 品牌服装 服装院校 专题欣赏 SEO 图标欣赏 专题
网站建设 域名注册 网站建设 虚拟主机 广州网站设计 域名注册 广州网站建设 上海网站建设 虚拟主机 广州网页设计 虚拟主机 域名注册 acg王国 ACG玩家 品牌设计 上海网站建设
求创科技
网站建设
中国互联
素材出售
中国设计秀
中资源
当前位置:网络学院首页 >> 编程开发 >> .net >> vc.net中MFC静态与动态链接问题与release方式编译问题

vc.net中MFC静态与动态链接问题与release方式编译问题

来源:中国设计秀    作者:    点击:16     加入收藏    发表评论
0
顶一下

在solution  属性设置里 use of mfc 可以更改mfc链接方式 

如果选择use    MFC    in    a    Shared    DLL    的话,你编译后的程序中不包含MFC库,所以文件会比较小,但是如果你的程序直接移到一个没有安装过MFC的机器上时,可能会导致找不到MFC的DLL, 如果选择Use    MFC    in    a    Static    Library    ,那你编译后的程序就直接包含了调用MFC的部分的库,文件可能会大一些,但是可以直接移到其他机器上运行.

前者是动态链接,发布不用带MFC的DLL文件,后者是静态连接,发布要带MFC得DLL文件。如果可执行文件多个,使用前者,因为DLL文件是共享的,所以文件总量减少。单个文件也小。加载执行块,但运行速度略比静态慢。   如果可执行文件只有一个,使用后者,执行速度快,但文件比 较大。

通常选use    MFC    in    a    Shared    DLL

在编译里  把DEBUG方式改成 release(发行版)
 这样在工程文件里,release文件夹下,就有了发行版的exe,debug下的文件包含了debug信息。

在某些没有安装mfc的机器上
可以可以使用这种方式 :1. use mfc in a static library 
                                             2.用release编译    就可以在别的机器上运行了 但是 运行速度慢而且文件大

选择static编译,是dos年代的思路。  
 照这种编译方法,如果一个工程,调用了20个自己的dll,全部用static方式编译,最终不是要耗100M内存运行??!
    
方法是:用depends(vc工具)看一下你的exe需要哪些dll,估计是缺少mfc42.dll、msvcrt.dll等,将这些其它机器可以没有的东西一并打包。  

2007-07-31 10:29:00    出处:
Google
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明 | 网站公告 | 友情链接 | 留言 | 旧版入口