外部インタフェース/API | ![]() ![]() |
アドバンスドトピックス
この節では、アプリケーションが高度なMEX-ファイルを要求するときに利用できるMEX-ファイルの特徴を述べています。
ヘルプファイル
help
コマンドは、要求されたときに適切なM-ファイルを自動的に探して表示し、インタプリタは関数が呼び込まれたときに対応するMEX-ファイルを探して実行します。複数ファイルのリンク
MEX-ファイルを作るときに、複数のオブジェクトファイルを結合したり、オブジェクトファイルライブラリを使うことができます。これを行うためには、ファイルを拡張子付きで、スペースで分離してリストします。たとえば、PCで、
mex circle.c square.obj rectangle.c shapes.lib
は、circle.dll
というMEX-ファイルを作成するために.c
, .obj
, .lib
ファイルに対して機能する有効なコマンドです。dll
は、PCでのMEX-ファイルタイプに対応する拡張子です。結果のMEX-ファイル名は、リストの1番目のファイルから得られます。
複数のソースファイルに関連するMEX-ファイルプロジェクトを管理するために、MAKE
のようなソフトウェア開発ツールを使うと便利です。ユーザのソースファイルからオブジェクトファイルを作るルールを含むMAKEFILE
を作成し、オブジェクトファイルをMEX-ファイルに統合するためにmex
を呼び込みます。この方法で、必要なときにのみソースファイルを確実に再コンパイルできます。
MEX-ファイル関数のワークスペース
M-ファイル関数と異なり、MEX-ファイル関数は、自身の変数ワークスペースをもちません。MEX-ファイル関数は、呼び出し側のワークスペースで機能します。
mexEvalString
は、呼び出し側のワークスペースの文字列を評価します。さらに、mexGetArray
とmexPutArray
ルーチンを使って呼び出し側のワークスペースから変数を取得したり設定したりできます。
![]() | C MEX-ファイルからの関数の呼び出し | メモリ管理 | ![]() |