将Fortran函数链接到c ++

时间:2014-02-28 22:32:46

标签: c++ arrays matrix fortran

我想在我的c ++代码中使用fortran函数。 fortran中的这个函数找到矩阵的特征向量。在其余的代码中,我想使用这个特征向量。这里有一个问题,那就是:fortran是列主要顺序,c ++是行主要顺序。当我在我的c ++代码中链接fortran函数时,我是否必须使用列主要方法(并假设我仍然在使用fortran)或者当我引用特征向量的元素时我必须使用行主要方法 ?这让我很困惑。

谢谢

1 个答案:

答案 0 :(得分:1)

您必须传递他们理解的Fortran函数数据结构。如果Fortran代码需要col主结构,则必须提供col主结构。

简单地说,这并不比反转行和列索引更复杂。通常,Fortran库将接受矩阵作为值的线性数组,其布局在库的文档中指定。遵循该文档,一切都会很好。

例如,也许您正在处理密集的N×N矩阵。然后,您需要提供一个长度为N*N的数组,其条目存储在索引col*N + row