当我运行时,ldd program我得到表单的输出
linux-gate.so.1 => (0xb77ae000)
libstdc++.so.6 => /lib/libstdc++.so.6 (0xb76bc000)
libm.so.6 => /lib/libm.so.6 (0xb7691000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7674000)
libc.so.6 => /lib/libc.so.6 (0xb74c2000)
/lib/ld-linux.so.2 (0xb77af000)
Run Code Online (Sandbox Code Playgroud)
你能解释输出和原因,linux-gate.so.1并以ld-linux.so.2不同于其他条目的方式展示吗?他们的角色是什么?
当我使用GCC时,我可以使用以下方法在我的Ubuntu 15.04上构建程序:
-static-libgcc -static-libstdc++
Run Code Online (Sandbox Code Playgroud)
并且编译后的二进制文件可以在"库存"Ubuntu 14.04上运行而无需任何外部软件包,只有标准更新.
是否有可能使用这种静态链接到具有clang的库来构建?
最常见的答案:
ppa:ubuntu-toolchain-r/test)不适合我.
我可以用clang在Ubuntu 14.04.3 LTS上运行吗?