VC静态库的应用

152 篇文章 1 订阅
一. 
有3个静态库文件, 分别是Lib.lib, Lib1.lib, Lib2.lib;

Lib.lib中有函数Fun; Lib1中有函数Fun1; Lib2中有函数Fun2.
其中Lib1的Fun1使用了Lib的Fun; Lib2的Fun2也使用了Lib的Fun.

VC在编译Lib1和编译Lib2时, 并不需要使用到Lib.lib文件.
也就是说在连接生成Lib1.lib和Lib2.lib时, 并没有连接Lib.lib.


二. 
现在有一个控制台程序使用Lib1.lib的Fun1和Lib2.lib的Fun2.
VC编译连接的时候就报缺少Fun函数(Fun函数就是Lib.lib中的函数)
#pragma comment(lib, "lib.lib") // 添加这一句即可
#pragma comment(lib, "lib1.lib")
#pragma comment(lib, "lib2.lib")

三. 
有一点像C++的多重继承的菱形继承).
很明显的一点, VC在编译连接静态库时, 假设该静态库还使用了另外的静态库, 此时并没有真正连接这个另外的静态库的.
而在连接成exe或者dll时才真正连接.


在dll的菱形关系中, 也有类似的情况, 但以前好像遇到过, 如果使用静态编译DLL, exe的编译就会出错, 但现在没有验证.


代码: http://download.csdn.net/detail/cay22/5170462

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值