我已经使用我的 G++ 交叉编译器交叉编译了一个开源库(基于 C++)。我现在正尝试在使用我的 GCC 编译器构建的基于 C 的应用程序中使用输出的 .a 文件...这可能吗?
最佳答案
是的。确保您要使用的所有函数都是 extern "C"并且您只对要使用的函数使用基本类型。
如果您使用与 G++ 相同的 GCC 版本,那绝对没有问题。跨版本应该没问题,但可能会有非常小的不兼容性。新的 GCC (3.0+) 符合 Itanium ABI,所以它们会很好;他们就如何交换和格式化数据达成了二进制协议(protocol)。
关于c++ - 您可以从 C 应用程序链接 C++ 库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6949284/