外部インタフェース/API    

UNIXでのコンパイルとリンク

ランタイムのUNIXでは、API共有ライブラリの場所をシステムに通知する必要があります。この節では、ユーザのシェルおよびシステムアーキテクチャに応じて必要なUNIXコマンドについて説明します。

ランタイムライブラリパスの設定

Cシェルでは、ライブラリパスを設定するコマンドは、

Bourneシェルでは、ライブラリパスを設定するコマンドは、

<matlab>はMATLABルートディレクトリで、$Archはシステムアーキテクチャ(alpha, glnx86, sgi, sol2, hp700, ibm_rs)です。

環境変数(この例題ではLD_LIBRARY_PATH) は、プラットフォームにより異なります。つぎの表は、システムで利用する環境変数名の一覧です。

表 6-5: 環境変数名
アーキテクチャ
環境変数
HP700
SHLIB_PATH
IBM RS/6000
LIBPATH
SGI 64
LD_LIBRARY64_PATH

Cシェルに対しては~/.cshrc、Bourneシェルに対しては~/.profileのように、スタートアップスクリプトにコマンドを設定すると便利です。

オプションファイルの使用法

MATLABは、MAT-ファイルアプリケーションを簡単にコンパイルおよびリンクするために、mexスクリプトを使うためのオプションファイルmatopts.shを提供しています。たとえば、例題のmatcreat.cをコンパイル、リンクするには、つぎを使います。

ここで、<pathname>は、指定したファイルの完全なパスを指定します。

ユーザ固有のコンパイラまたはプラットフォームに対してオプションファイルを修正する必要がある場合は、-vスイッチを使ってカレントのコンパイラとリンカの設定を表示し、その後matopts.shファイルのローカルコピーに適切な変更を行ってください。

HP-UX 11.xでのFortran(f77)に対して考慮すべき事柄

HP-UX 11.xに付属しているバージョンのFortranコンパイラ(f77)において、-Lフラグの意味が変更されています。-Lフラグは、リスト出力を要求します。そのため、ユーザコードでリンクしたいライブラリをリンカに表示させるには、つぎのようにします。


 MAT-ファイルプログラムのコンパイルとリンク Windowsでのコンパイルとリンク