gcc是否有一些标志,以避免与未使用的共享库链接?

时间:2019-04-02 07:17:04

标签: gcc compiler-optimization

echo "void main(){}" |gcc -xc -lm -lpthread -o test - && ldd test

这里是一个例子。我实际上不使用任何数学函数。但gcc最终仍与 libm.so 链接。 在这种情况下,是否有任何优化标志告诉gcc不要与 libm.so 链接?

2 个答案:

答案 0 :(得分:1)

  

echo“ void main(){}” | gcc -xc -lm -lpthread -o test-&& ldd test

-lm明确要求与 libm.so gcc 链接,因为好孩子紧随您的请求。

可能是您有充分的理由要链接, gcc / ld 不知道您为什么这样做,也无法自己决定不遵循您的请求,因此是没有选择-dontDoWhatIaskYouToDo ^^

如果您不想与该lib链接,请不要与其链接

答案 1 :(得分:1)

我终于找到结果了。 -Wl,在这种情况下是需要的。