链接来自不同GCC版本的编译对象文件是否安全?

时间:2017-03-02 14:52:40

标签: gcc compilation

将使用不同GCC版本编译的源生成的对象链接到共享库是否安全?

我假设没有,但是如果使用过的GCC在代码生成和优化改进方面没有区别?是否有信息知道哪个GCC编译器不向后兼容?

我的问题也是关注二进制文件,我查了一下

https://gcc.gnu.org/onlinedocs/gcc/Compatibility.html

根据我的理解,只要符合相同的ABI

,不同的GCC版本就是兼容的

1 个答案:

答案 0 :(得分:1)

因此,在对网络进行研究并阅读几篇GCC发行说明之后,如果没有ABI变化,GCC似乎是向后兼容的。 一般来说,这将在发行说明中说明。

我还使用不同的GCC编译器和GCC连接器(来自不同版本的GCC的不同含义)进行了一些实验,并且当它不兼容时(不同的ABI版本)我遇到了链接器错误。