gpt4 book ai didi

旧版本 GCC 的 C++/Fortran 间语言 ABI 问题

转载 作者:太空宇宙 更新时间:2023-11-04 12:21:13 24 4
gpt4 key购买 nike

我们已经设法在 Ubuntu 10.10 上构建和运行我们的代码。该代码使用了用 GCC 4.5 编译的 C++ 和用最新版本的 ifort 编译的 fortran。我们可能需要使用几年前的 GCC 版本来支持较旧的嵌入式 linux 平台(仍在等待客户的规范)。不幸的是,他们的软件和硬件已被指定用于军事用途,因此无法升级。我的问题是,我们是否可能会遇到使用旧版 GCC 构建应用程序并将其与使用最新版 ifort 编译的库链接的 ABI 问题?

最佳答案

您是尝试从 C++ 调用 Fortran 代码,还是从 Fortran 调用 C++ 代码,或者两者兼而有之?如果您从 C++ 调用 Fortran 代码,我认为您不会遇到问题,尤其是当您使用相同的 Fortran 编译器时。

如果您尝试从 Fortran 访问 C++ 代码,这将取决于 C++ 代码的性质。如果 Fortran 可访问的函数使用 C 链接,那么你应该没问题,因为 C ABI 是标准化的。如果函数使用 C++ 链接,我预计会遇到一些麻烦,因为 C++ ABI 没有标准化,而且我确信 GCC 多年来对其 ABI 进行了微小(可能是重大)的更改。

关于旧版本 GCC 的 C++/Fortran 间语言 ABI 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4967507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com