我有一个C ++软件(Borealis流引擎),它被编译并与GCC 3.3.6一起工作(我无法使其与更新版本的GCC一起工作,并且不再支持该软件)
我喜欢将其扩展为调用一些复杂的加密库(基于配对的库),这些库肯定是使用最新版本的GCC编译的。
我的问题是,是否可以这样做,即从使用较旧版本的GCC编译的代码中调用使用新版GCC编译的库?技术上可行吗?有什么潜在的问题?
我希望有人可以帮助解决这些问题,这样我就可以避免花费数天(甚至数周)编译和学习如何使用这些软件,最终发现它们无法协同工作。
答案 0 :(得分:1)
是的。如果不是,我们就会遇到严重的问题。编译器的版本与平台的ABI无关。
(在C ++编译器的情况下,实际上可能会破坏的一件事是名称修改约定的改变,但是,例如,使用C,即使这种风险也不存在。)