はじめに


1999年に発表された PROPATHバージョン11.1から, MS-Excelで利用できるE-PROPATHが 新たに加わった. E-PROPATHとして提供されるライブラリは,FORTRAN 77で書かれたPROPATHのソースコード から作成したダイナミックリンクライブラリ(DLL)である.

DLLはプログラムの実行時にリンクされる. DLLを用いることにより, MS-Excel以外にもVisual BasicやDelphiなどFortran以外の言語で作成した プログラムからPROPATHを利用することができるようになる. また,従来は不可能であった複数のPROPATHライブラリの同時使用も可能になる.

ここでは,PROPATHのソースコードからDLLを作成する手順を説明し, 他言語からの利用例を紹介する.

  1. コンパイラ

    現在発売されているWindows上のFortranコンパイラであれば,どのコンパイラでも DLLの作成はサポートされているようである. 本稿ではCompaq社のVisual Fortran 5.0 (以下Visual Fortran)での作成方法を説明する. このコンパイラはMicrosoft社のFortran Power Station 4.0(以下Power Station)と ほぼ完全な互換性を有し,本稿で説明する手順はほとんどそのままPower Stationにも 適用することができる.

    Visual FortranにはDeveloper Studioと呼ばれる統合環境が付属しており, コーディングやデバッグは基本的にこの統合環境上で行う. 慣れないうちは少々使いにくく,簡単なプログラムでもいちいちプロジェクト を作成しなければならないなどの不便さはあるが,この統合環境のデバッグ機能は非常に優れており, 任意位置での実行停止,ステップ実行,変数の監視などの機能を使えば大変効率的に デバッグが行える. また,プロジェクトに属するソースコードがビジュアルに管理できるようになっており, 複数のファイル間にまたがるコードの編集が行いやすい. もちろん,従来のコマンドラインコンパイラ(FL32.EXE)も使える. DLLのメイクはDeveloper Studioおよび コマンドラインコンパイラのどちらでも可能である.

  2. DLLの動作条件

    Visual Fortranで作成したDLLの動作が確認されている環境は, Intel系のPCで動作しているWindows 95以降およびWindows NT3.51以降である. Windows 2000でも動作を確認している. ただし,16bitのWindows 3.1上では動作しない. また,Alpha系ワークステーションのエミュレータ(FX!32)上での 動作は未確認である.

  3. DLL作成の概略

    DLLを作成するには,外部からの呼出しが可能な関数(エクスポート関数)を定義しなければならない. 既存のPROPATHのソースコードを直接編集し,PSTやHPTなどの関数が 定義されている部分に外部からの呼出しを 可能にするためのコードを追加してもよいが, このような作業には膨大な手間と労力を要する. また,1種類のPROPATHについて通常メイク用とDLLメイク用の 二種類のソースコードが存在することになり,混乱を招く.

    したがって,PROPATHのソースコードとは別に エクスポート関数のみを定義したソースコード (エクスポートファイル-私が勝手にそう呼んでいるだけで一般的な用語ではない)を 用意し,PROPATHのソースコードと共にコンパイルする.

エクスポート関数の定義
DLLのメイク
DLLの呼び出し方法


お問い合わせはメールにて: akasaka@klc.ac.jp

戻る
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送