C++ 和 Fortran 互操作性
C++ and Fortran interoperability
为了自己的娱乐,我决定创建一个大型物理引擎。我有 Java 和 C++ 的经验,但 none 有 Fortran 的经验。我对 Fortran 的理解是它用于科学行业,适合大型计算。我决定将 C++ 用于任何可能添加的图形用户界面、声音、用户输入等,而 Fortran 将处理计算。从 C++ 调用 Fortran 方法有多容易?我用谷歌搜索了此事,但没有找到太多信息。尽管不了解 Fortran,但我决心学习它,无论学习曲线有多严格(假设我会获得适当的性能提升)。这样使用 Fortran 实用吗?我会获得可观的性能提升吗(对于大型计算)? Fortran 是否仍在现代世界中使用还是已经过时了?
编辑:人们在不说明问题有什么问题的情况下进行投票,这似乎是一种持续的模式。
My understanding of Fortran is that it is used in the scientific industry and is good for large calculations.
Fortran 确实(仍然)用于科学和工程应用,以及许多其他地方。
How easy is it to call Fortran methods from C++?
最新的 Fortran 标准对与 C 的互操作性有具体规定。这些工具提供了一种标准 方法,让 C 或 C++ 代码调用 Fortran 例程,并让 Fortran 代码调用 C具有 C 链接的例程和 C++ 例程。
C 和 Fortran 例程相互调用的时间比 Fortran 标准中 C 互操作规定的时间长得多,但如何在不使用互操作功能的情况下实现这一点取决于实现。
I am determined to learn [Fortran] no matter how strict the learning curve may be (assuming that I will get an appropriate performance increase).
虽然 Fortran 结构的某些方面使得优化数字运算相对容易,但如果您希望看到在 Fortran 而不是 C 中实现数字例程的巨大收益,您可能会感到失望。您的表现可能更相关取决于您选择的算法而不是实现它的语言。
Is it practical to use Fortran in this way?
是的。
Will I get a decent performance increase (for large calculations)?
这取决于很多因素,但我粗略估计是 "no"。
Is Fortran still used in the modern world or is it outdated?
还在用,Fortran标准还在维护,定期更新。
为了自己的娱乐,我决定创建一个大型物理引擎。我有 Java 和 C++ 的经验,但 none 有 Fortran 的经验。我对 Fortran 的理解是它用于科学行业,适合大型计算。我决定将 C++ 用于任何可能添加的图形用户界面、声音、用户输入等,而 Fortran 将处理计算。从 C++ 调用 Fortran 方法有多容易?我用谷歌搜索了此事,但没有找到太多信息。尽管不了解 Fortran,但我决心学习它,无论学习曲线有多严格(假设我会获得适当的性能提升)。这样使用 Fortran 实用吗?我会获得可观的性能提升吗(对于大型计算)? Fortran 是否仍在现代世界中使用还是已经过时了?
编辑:人们在不说明问题有什么问题的情况下进行投票,这似乎是一种持续的模式。
My understanding of Fortran is that it is used in the scientific industry and is good for large calculations.
Fortran 确实(仍然)用于科学和工程应用,以及许多其他地方。
How easy is it to call Fortran methods from C++?
最新的 Fortran 标准对与 C 的互操作性有具体规定。这些工具提供了一种标准 方法,让 C 或 C++ 代码调用 Fortran 例程,并让 Fortran 代码调用 C具有 C 链接的例程和 C++ 例程。
C 和 Fortran 例程相互调用的时间比 Fortran 标准中 C 互操作规定的时间长得多,但如何在不使用互操作功能的情况下实现这一点取决于实现。
I am determined to learn [Fortran] no matter how strict the learning curve may be (assuming that I will get an appropriate performance increase).
虽然 Fortran 结构的某些方面使得优化数字运算相对容易,但如果您希望看到在 Fortran 而不是 C 中实现数字例程的巨大收益,您可能会感到失望。您的表现可能更相关取决于您选择的算法而不是实现它的语言。
Is it practical to use Fortran in this way?
是的。
Will I get a decent performance increase (for large calculations)?
这取决于很多因素,但我粗略估计是 "no"。
Is Fortran still used in the modern world or is it outdated?
还在用,Fortran标准还在维护,定期更新。