| 外部インタフェース/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-ファイルからの関数の呼び出し | メモリ管理 | ![]() |