静态库和动态库的区别,lib文件和dll文件的配置方法

 我来答
冷枫娱乐
2017-05-04 · TA获得超过759个赞
知道小有建树答主
回答量:628
采纳率:98%
帮助的人:671万
展开全部
一、静态链接库与动态链接库区别:
静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib 中的指令都全部被直接包含在最终生成的 EXE 文件中了。但是若使用 DLL,该 DLL 不必被包含在最终 EXE 文件中,EXE 文件执行时可以“动态”地引用和卸载这个与 EXE 独立的 DLL 文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。动态库就是在需要调用其中的函数时,根据函数映射表找到该函数然后调入堆栈执行。如果在当前工程中有多处对dll文件中同一个函数的调用,那么执行时,这个函数只会留下一份拷贝。但是如果有多处对lib文件中同一个函数的调用,那么执行时,该函数将在当前程序的执行空间里留下多份拷贝,而且是一处调用就产生一份拷贝。
二、.lib文件如何配置
方法一:
“#pragma comment(lib, “*.lib”) ”语句。
方法二:
选择“项目” - “属性” - “配置属性” - “链接器” - “输入” - “附加依赖项”
2、添加lib目录的方法有以下几种
方法一:把.lib文件放在当前使用它的工程目录下;(如:.exe所在目录,或者工程代码所在的目录)
方法二:在vs中,还可以通过当前工程的[菜单]“工具”-》“项目和解决方案”-》“VC++目录”-》“库文件”,这种方式来指定.lib文件的目录。
方法三:放在开发环境IDE的lib库目录下,例如:“C:\Program Files\Microsoft Visual Studio 8\VC\lib”,这是vs2005的vc开发的lib库目录。
方法四:在vs中,“项目”-》“属性”-》“配置属性”-》“链接器”-》“常规”-》“附加库目录”
三、.dll文件的存放位置
当应用程序运行时,系统将为它分配一个4GB(因为大多数机器是32位的机器,所以其内存的计算方法为:2^32 byte = 2^22 KB = 2^12 MB = 2^2 GB = 4 GB)的地址空间,然后加载模块会分析该应用程序的输入信息,从中找到该程序将要访问的动态链接库信息,然后在用户机器上搜索这些动态链接库,进而加载它们。
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式