|
发表于 2007-4-6 22:27:41
|
显示全部楼层
ldd 得到的结果显然会不一样,两者链接的库都不一样(一个有libm.so, 一个没有)
你没有用 --static , 所以只有 cos 被静态链接进目标文件, 其他的库还是动态链接
至于为什么动态链接 libm 比静态还大, 你这个例子很可能是因为 cos 调用被编译器优化掉了, 用 libm.so 链接的话,会在目标文件里面多一项关于 libm,so 得信息(而 libm.a 没有,因为被优化掉了, 在目标文件中就没有了) 另外,即使没有被优化掉, 只有一个简单的调用,很难说哪个生成的文件更大(因为两者均有开销,虽然开销用的地方不一样) |
|