5

lapack を使って C++ マトリックスラッパーを作りたいのですが、lapack は Fortran で書かれており、clapack もいくつかありますがソースから使いたいです。最初に *.f および *.cpp ファイルをオブジェクト ファイルにコンパイルしてから、それをアプリケーションにリンクします。

私が持っている次のアプリとソース。

  • Visual Studio proff エディション、dev c++、ultimate++、mingw なんでも
  • g95 および gfortran (mingw の下) コンパイラ
  • lapack (最新ソース)
  • blas (lapack に含まれています)

申請書の作成方法を教えてください...

私のオペレーティング システムは Windows 7 で、CPU は Core2Duo で、Intel 数学カーネルはありません。

4

1 に答える 1

3

LAPACKの公式 C バインディングを使用して、その周りに C++ ラッパーをビルドできます。これにより、Fortran 呼び出し規則について心配する必要がなくなり、C バインディングは、Fortran ルーチンを直接呼び出すよりも C/C++ プログラマーにとって少し使いやすくなります。

さらに、独自に作成する代わりに、既に利用可能な C++ マトリックス ライブラリの 1 つを使用することもできます。私はアイゲンをお勧めします。

PS .: 固有行列/ベクトルには、一時コピーを作成することなく LAPACK を呼び出すことができる data() メンバーがあります。

于 2011-09-28T10:35:47.923 に答える