Developer Studioでのメイク
コマンドラインでのメイク
DEFファイルの利用
注意事項
Visual FortranのDeveloper Studioを使って,アンモニアPROPATHの ソースコード(JNH3.FOR)からDLLをメイクする方法を説明する.
クイックビューワ(エクスプローラの右クリックで選択できる.Windows NTのみ)でJNH3.DLLから エクスポートされている関数が確認できる. "Export Table"以下にJNH3_PSTが見つかればメイクは成功である.
コマンドラインコンパイラ(FL32.EXE)およびリンカ(LINK.EXE)を使ってコンソール上で DLLをメイクする手順を説明する.
まず,FL32.EXEを使ってPROPATHのソースコードとエクスポートファイルをコンパイルする. 例えば,JNH3.FORおよびNH3.F90をコンパイルする場合,両者のファイルが存在する ディレクトリに移動し,
fl32 /c /Oxp JNH3.FOR NH3.F90
のように入力する. "/Oxp"は最適化を行うためのオプションである. コンパイルが正常に終了すればオブジェクトファイル(JNH3.OBJおよびNH3.OBJ)が 同じディレクトリに作成される.
次に,リンカに"/DLL"オプションを付けて実行し,二つのオブジェクトファイルをリンクする.
link /DLL JNH3.OBJ NH3.OBJ
リンクが正常に終了すればJNH3.DLLおよびインポートライブラリJNH3.LIBが作成される. DLLの名前はリンカを実行する際に最初に入力したオブジェクトファイル の名前が使われる.
DEFファイルを用いてエクスポート関数にエイリアスを定義する方法を説明する.
例えば,JNH3_PSTというエクスポート関数にPSTというエイリアスが
定義できれば便利である.
このような場合,次の2行が書かれたファイルを作成する.
EXPORTS
PST = JNH3_PST
link /DLL /DEF:JNH3.DEF JNH3.OBJ NH3.OBJ
とする.
作成されたJNH3.DLLをクイックビューワで見れば,"Export Table"~以下にJNH3_PSTおよび PSTの二つが見つかり, 両者のエントリーポイントは同一になっているはずである.
DLLをメイクする際の注意事項を列挙しておく.
fl32 /c JNH3.FOR NH3.F90
のように,"/Oxp"オプションを付けずにコンパイルすればよい. ただし,DLLのファイルサイズは約1割大きくなる.
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||