C ++和Fortran互操作性

时间:2015-04-25 16:33:38

标签: c++ fortran

为了我自己的娱乐,我决定创建一个大型物理引擎。我有使用Java和C ++的经验但没有Fortran的经验。我对Fortran的理解是它用于科学行业,适用于大型计算。我决定使用C ++来处理任何可能在Fortran处理计算时添加的gui,声音,用户输入等。从C ++调用Fortran方法有多容易?我搜索了这个问题并没有找到太多信息。尽管不了解Fortran,但无论学习曲线有多严格,我都决定学习它(假设我会得到适当的性能提升)。以这种方式使用Fortran是否切实可行?我会获得不错的性能提升(对于大型计算)吗? Fortran仍然在现代世界中使用还是过时了?

编辑:接下来就是这种持续的人们贬低的模式而不说这个问题有什么问题。

1 个答案:

答案 0 :(得分:1)

  

我对Fortran的理解是它用于科学行业,有利于大型计算。

Fortran确实用于(仍)用于科学和工程应用,以及许多其他地方。

  

从C ++调用Fortran方法有多容易?

最新的Fortran标准具有与C的互操作性的特定规定。这些工具提供了一个标准方法,用于调用Fortran例程的C或C ++代码,以及用于调用C例程和C ++例程的Fortran代码。 C联动。

C和Fortran例程相互调用的时间比Fortran标准中的C语言间条件要长得多,但是如果不使用互操作特性,这是如何实现的,取决于实现。

  

无论学习曲线有多严格,我都决定学习[Fortran](假设我的性能会有所提高)。

虽然Fortran结构的某些方面使得数字运算的优化相对容易,但如果你期望看到在Fortran而不是C中实现数值例程会有很大的收益,那么你可能会感到失望。你的表现可能与您选择的算法而不是实现它的语言。

  

以这种方式使用Fortran是否切实可行?

  

我是否会获得不错的性能提升(对于大型计算)?

这取决于很多因素,但我的粗略估计是“不”。

  

Fortran仍然在现代世界中使用还是过时了?

它仍在使用,Fortran标准仍然保持并定期更新。