外部インタフェース/API    

C言語MEX-ファイルの作成


本章では、C言語でMEX-ファイルを作成する方法を説明します。MEX-ファイル本体、これらのC言語ファイルがMATLABとどのように作用するか、異なるデータタイプの引数をどのように渡して操作するか、MEX-ファイルプログラムのデバッグ方法、その他のアドバンスドトピックスについて説明します。

つぎの一覧は、本章の内容をまとめたものです。

C MEX-ファイル

C MEX-ファイルは、APIルーチンの呼び出しを使ってCソースコードをコンパイルするために、mexスクリプトを使って作られます。

C MEX-ファイルの部分

MEX-ファイルのソースコードは、2つの部分から成り立ちます。

ゲートウェイルーチンでは、mxArray構造体のデータにアクセスでき、このデータをCの計算ルーチン内で操作します。たとえば、mxGetPr(prhs[0]) は、prhs[0] で示されたmxArrayの実数データへのタイプdouble *のポインタを出力します。それから、このポインタをCの他のタイプdouble * のポインタのように使うことができます。ゲートウェイからユーザのC計算ルーチンをコールした後で、出力するデータへのタイプmxArrayのポインタを設定できます。それで、MATLABはユーザの計算ルーチンからの出力をMEX-ファイルからの出力と認識できます。

つぎの図「C MEXサイクル」は、どのように入力がMEX-ファイルに入るか、ゲートウェイ関数がどの関数を実行するか、どのようにMATLABに出力するかを示します。

図 2-1: C MEXサイクル


 テクニカルサポート MEX-ファイルに必要な引数