没用到的代码会被链接进来吗?

接到一个任务,B库(动态库)依赖A库(静态库),嫌B库大了,想缩减一些。A库是公共库,有不少用不着的代码。想着编一个精简的A库,是不是可以达成目的。突然想起,庞大的A库链接进去后,B库似乎没有增加很多。所以,那些没有用到的A库内容,到底有链接入B库吗?我决定测试一下。

测试方法:生成一个app项目,做各种修改,然后用nm查看生成app的符号表。(mac电脑)。

测试结果:
1.本项目的源码,不管使用没使用,全都会被链接。
2.链接静态库
a .只配置库,不链接。
b.只包含头文件,不使用,不链接。
c.使用了代码,链接。链接时以.cpp为单位。即这个cpp有符号被使用了,那整个cpp的符号都会被链接。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。