为了我自己的娱乐,我决定创建一个大型物理引擎。我有使用Java和C ++的经验但没有Fortran的经验。我对Fortran的理解是它用于科学行业,适用于大型计算。我决定使用C ++来处理任何可能在Fortran处理计算时添加的gui,声音,用户输入等。从C ++调用Fortran方法有多容易?我搜索了这个问题并没有找到太多信息。尽管不了解Fortran,但无论学习曲线有多严格,我都决定学习它(假设我会得到适当的性能提升)。以这种方式使用Fortran是否切实可行?我会获得不错的性能提升(对于大型计算)吗? Fortran仍然在现代世界中使用还是过时了?
编辑:接下来就是这种持续的人们贬低的模式而不说这个问题有什么问题。
答案 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标准仍然保持并定期更新。