/ / FreePascal / Lazarus用のFortranライブラリのラップ - fortran、freepascal、lazarus

FreePascal / Lazarus用のFortranライブラリのラッピング - fortran、freepascal、lazarus

私はいくつかのルーチンを使用したいと思います。 DIERCKX FreePascalで書かれたプログラムの中のlibrary(これはFortranで書かれています) ラザロ。私はラザロに全く慣れていないので、どの道を進む必要があるのか​​知りたいのです。

EDIT Linux上で開発するが、私が作成するライブラリDelphiプログラムで使用されるため、Windows上でコンパイルする必要があります。 gfortranとg95が私のLinuxマシンにインストールされています。しかし、CygwinとIntel FortranがなくてもWindows上でコンパイルできるといいでしょう。

回答:

回答№1の場合は3

私はあなたがここで状況を過度に複雑にしていると思います。

ラザロはデルファイと同じではありません。

  • DelphiはFree Pascalの構造を超えてアクセスすることはできません基本手続きレベル(C互換部分)あなたの考えがFPCでGNUの世界を抽象化してからDelphiからそれを呼び出すことであるならば、それは失敗するでしょう。
  • Delphiはgccライブラリに静的にリンクすることはできません。gcc由来のコードにアクセスするには、それをDLLに変換し、それをDelphiから読み込む必要があります。
  • FPCはgccライブラリ(cygwin、mingw)に静的にリンクすることができますが、プレーンを呼び出すことしかできません マングリングや言語固有の型のない手続き/関数。
  • FPCはもちろんgcc由来のコードをDLLで使うこともできます。
  • FPCからのアプローチFortranコードは、それを準備するCから呼び出す必要がある場合は、それが機能することを確認してから、CDECL呼び出し規約を使用して関連ヘッダーをPascalに変換します(変換されたCヘッダーの多くの例についてはFPCソースコードレポを参照)。

それ以外の部分については、正確にどこに行き詰まっているのかを説明するとより明確になります。