4

我有一个 C++ 软件(Borealis 流引擎),该软件已编译并与 GCC 3.3.6 一起使用(我无法使其与较新版本的 GCC 一起使用,并且不再支持该软件)。

我喜欢扩展它来调用一些复杂的加密库(基于配对的库),这些库肯定是用最新版本的 GCC 编译的。

我的问题是是否有可能做到这一点,即从用旧版本 GCC 编译的代码中调用用新版本 GCC 编译的库?技术上可行吗?潜在的问题是什么?

我希望有人可以帮助阐明这些问题,这样我就可以避免花费数天(甚至数周)编译和学习如何使用这些软件,最终发现它们不能一起工作。

4

1 回答 1

1

这是。如果不是这样,我们就会遇到严重的问题。编译器的版本与平台的 ABI 无关。

(在 C++ 编译器的情况下,实际上可能会破坏的一件事是名称修改约定的更改,但是,例如,对于 C,即使这种风险也不存在。)

于 2013-01-29T16:12:15.520 回答