其他分享
首页 > 其他分享> > c – Glibc的静态链接

c – Glibc的静态链接

作者:互联网

我如何编译我的应用程序链接静态glibc库,但只有我的应用程序所需的代码? (不是所有的lib)

现在我的编译命令:

g++  -o newserver  test.cpp ... -lboost_system -lboost_thread -std=c++0x

谢谢!

解决方法:

这就是-static所做的事情(如另一个答案中所述):不需要的模块不会链接到您的程序中.但是你对所需东西数量的期望(从某种意义上说,我们无法说服联系人相反)可能过于乐观了.

如果你试图这样做是为了便携(在其他机器上运行可执行文件与旧glibc或类似的东西),有一个简单的测试问题,看看你是否会得到你想要的:

你有没有想到libnss的问题,你确定它不会咬你吗?

如果你的答案是肯定的,那么继续下去也许是有意义的.如果答案是否定的,或者问题似乎过于模糊而且没有答案,那么只要用静态链接的glibc退出你的过期:它有更多的机会受伤而不是帮助.

标签:c,g,glibc,static-linking
来源: https://codeday.me/bug/20191005/1857482.html