微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

#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却没有。

具体原理不清楚。

原文地址:https://www.jb51.cc/javaschema/283005.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐