#pragma comment(lib,"AddLib.lib") 和附加依赖项添加的区别

一直以为这两者之间没有什么区别,直到前段时间自己写了2个库,才发现还是有不同之处的。下面用实例来说明:

    [准备]

    有2个静态连接库:AddLib、Calc,一个测试工程Test(VS2013)

    其中AddLib提供了函数接口:int add(int x, int y);

     Calc提供函数接口:int calc(int x, int y);  // calc中调用add

      测试程序Test:printf("calc:%d\n", calc(10, 15));

     [测试]

     1.Calc中使用附加依赖项中加入AddLib.lib

         Test链接时只需要有Calc.lib就可以了

     2.Calc中使用#pragma comment(lib,"AddLib.lib")

         Test链接时不仅需要Calc.lib、还需要AddLib.lib,而且可以发现这是Calc.lib文件大小要比1中小。

      [结论]

        也就是说在附加依赖项中添加AddLib.lib,在生成Calc.Lib时就已经把add链接进Calc中了,而#pragma comment却没有。 

     具体原理不清楚。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值