- 主题:c++20编译的程序在c++17的环境上跑
楼主不是自问自答了吗
那两个参数一加,就是全静态链接,只跟os的功能调用有关系了
--
修改:z16166 FROM 123.114.4.*
FROM 123.114.4.*
一是某些不能全静态,比如有使用GUI的GTK库,GTK可以认为是没法全静态链接的
二是libc和os的接口,也就是syscall接口。一般内核版本变动不大是没啥问题的。
除此之外只是elf的尺寸问题。
【 在 lwp 的大作中提到: 】
: 所以我只是想问,除了这两个要静态链接,还有没有其它问题要注意的?
:
--
FROM 123.114.4.*
对了,还有个问题:
glibc里有些功能是会动态加载so的(虽然你的代码不一定会触发,但需要了解并测试一下),所以最好是用uClibc或者musl libc 之类的来全静态链接,而不是用libgcc。
还有抛异常的问题:
There are several situations in which an application should use the shared libgcc instead of the static version. The most common of these is when the application wishes to throw and catch exceptions across different shared libraries. In that case, each of the libraries as well as the application itself should use the shared libgcc.
【 在 lwp 的大作中提到: 】
: 编译的时候用上-static-libgcc -static-libstdc++
: 把这两个东西都静态链进去,是不是就行了?
:
--
FROM 222.130.138.*