Chinaunix首页 | 论坛 | 博客
  • 博客访问: 229904
  • 博文数量: 35
  • 博客积分: 659
  • 博客等级: 上士
  • 技术积分: 357
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-01 21:16
文章分类
文章存档

2012年(12)

2011年(23)

分类: WINDOWS

2012-03-20 18:42:52

windows编程建立一个MFC appWizard时,会遇到一个选项,

How would you like to use the MFC library?
As a shared DLL
As a statically linked library

    前者将程序要使用的库文件放在MFC动态链接库中,就是说程序中使用的一些库与程序分离,当程序要使用库文件时,会自动从动态连接库里找。 就好像我们执行游戏时,少一些诸如d3dx9_xx.dll之类的库,这时只要我们从网上下载这个dll文件,放在 C:\windows\system32 这个目录下,再执行游戏就可以了。这种方式会让程序变的比较小,但是再运行时,需要将所需的库文件放到相应的位置,否则无法运行。

    后者在编译时,将库文件编译到了程序里,这会使得程序变大,但是也减少了手动上库的麻烦。

    对于小一些的程序,建议使用statically linked library, 对于大一些的程序还是用shared Dll(动态链接库)吧。

阅读(2379) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

KakitChen2012-03-21 13:48:35

RSroad: 为啥大程序建议使用动态链接?.....
如果时大程序的话,一般会用到很多库,如果全都编译到程序里的话,那这个程序就会很大,而且有的库也许在你的\windows\system32里已经包含了,不需要你再编译成静态链接库。

RSroad2012-03-20 21:34:24

为啥大程序建议使用动态链接?