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