2014-02-28 75 views
0

我想在我的C++代碼中使用fortran函數。 fortran中的這個函數找到矩陣的特徵向量。在其他代碼中,我想使用這個特徵向量。這裏有一個問題,那就是:fortran是列主要順序,而C++是行主要順序。當我在我的C++代碼中鏈接一個fortran函數時,是否必須使用列主要方法(並假設我仍在fortran中),或者當我引用特徵向量的元素時,我必須使用行主要方法?這讓我困惑。將Fortran函數鏈接到C++中

謝謝

回答

1

您將不得不通過他們瞭解的Fortran函數數據結構。如果Fortran代碼需要col主要結構,那麼您必須提供col主要結構。

簡單地說,這並不比顛倒行和列索引更復雜。通常,Fortran庫將接受矩陣作爲線性數組值,其佈局在庫的文檔中指定。按照該文件,一切都會很好。

例如,也許你正在處理一個密集的N×N矩陣。然後,您需要提供一個長度爲N*N的數組,其條目存儲在索引col*N + row處。