如何识别两个不同版本的gcc是否兼容?

时间:2021-09-01 12:45:30

Sometimes I get libraries from different design teams. One uses gcc 3.x and another uses gcc 4.x. How can I identify whether these two libraries are compatible? I know it is something with libstdc++, but could you please give me a clear answer?

有时我从不同的设计团队获得图书馆。一个使用gcc 3.x,另一个使用gcc 4.x.如何识别这两个库是否兼容?我知道它与libstdc ++有关,但是你可以给我一个明确的答案吗?

2 个解决方案

#1


1  

This is a good starting point

这是一个很好的起点

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

This article discusses binary compatibility ( it can apply to libraries too ) between different tools. This still holds good when the different tools are differnt versions of gcc. One major thing to be checked is application binary interface (ABI) conformance.

本文讨论了不同工具之间的二进制兼容性(它也适用于库)。当不同的工具是不同版本的gcc时,这仍然很好。要检查的一个主要问题是应用程序二进制接口(ABI)一致性。

And this SO post says that since GCC 3.4.0 ABI is forward compatible. I.E. a library made using an older release can be linked with a newer one and it should work .

这个SO帖子说,因为GCC 3.4.0 ABI是向前兼容的。 I.E.使用旧版本创建的库可以与较新版本链接,它应该可以工作。

#2


0  

this command may make a little help:

这个命令可能会有所帮助:

strings - YourProgram | grep GCC

字符串 - YourProgram | grep GCC

#1


1  

This is a good starting point

这是一个很好的起点

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

This article discusses binary compatibility ( it can apply to libraries too ) between different tools. This still holds good when the different tools are differnt versions of gcc. One major thing to be checked is application binary interface (ABI) conformance.

本文讨论了不同工具之间的二进制兼容性(它也适用于库)。当不同的工具是不同版本的gcc时,这仍然很好。要检查的一个主要问题是应用程序二进制接口(ABI)一致性。

And this SO post says that since GCC 3.4.0 ABI is forward compatible. I.E. a library made using an older release can be linked with a newer one and it should work .

这个SO帖子说,因为GCC 3.4.0 ABI是向前兼容的。 I.E.使用旧版本创建的库可以与较新版本链接,它应该可以工作。

#2


0  

this command may make a little help:

这个命令可能会有所帮助:

strings - YourProgram | grep GCC

字符串 - YourProgram | grep GCC