mexhost
C++ MEX 関数のホスト プロセスの作成
説明
は、C++ MEX 関数の実行に使用される MEX ホスト プロセスを作成します。既定のプロセス名は mh
= mexhostMATLABMexHost
です。
返される matlab.mex.MexHost
オブジェクトの feval
メソッドを使用して、MEX ホスト プロセスで C++ MEX 関数を実行します。
は、プロセスの mh
= mexhost("EnvironmentVariables",envVariables
)envVariables
で定義された値を使用して環境変数を設定します。
例
C++ MEX 関数をアウトプロセスで実行
ホスト プロセスを作成し、そのプロセスで C++ MEX 関数を実行します。
arrayProduct.cpp
C++ MEX ファイルには、配列をスカラー入力で乗算し、得られた配列を返す関数のソース コードが含まれます。このファイルを開いて、MATLAB® パスに保存します。mex
コマンドを使用して C++ MEX ソース ファイルをビルドします。MEX ビルドを設定するには、C++ MEX プログラムのビルドの手順に従います。
mex arrayProduct.cpp
ホスト プロセスを作成します。関数 mexhost
は matlab.mex.MexHost
オブジェクトを返します。
mh = mexhost;
matlab.mex.MexHost
オブジェクトの feval
メソッドを使用して、ホスト プロセスで C++ MEX 関数を評価します。
result = feval(mh,"arrayProduct",10,[2,4,6,8])
result = 20 40 60 80
プロセス ID の検索
MexHost
オブジェクトを使用して、関数 mexhost
で作成されたプロセスの識別子を検索できます。
mh = mexhost; mh.ProcessIdentifier
ans = "13336"
mexhost
への各呼び出しによって、プロセスが作成されます。
ライブラリの環境変数の設定
環境変数 envName1
の値を envVal1
に、変数 envName2
の値を envVal2
に設定します。
s = ["envName1","envVal1" "envName2","envVal2"]; mh = mexhost("EnvironmentVariables",s)
mh = MexHost with properties: ProcessName: "MATLABMexHost" ProcessIdentifier: "19344" Functions: [0×0 string] EnvironmentVariables: "envName1" "envVal1" "envName2" "envVal2"
入力引数
envVariables
— 環境変数と値
n 行 2 列の string 配列
環境変数と値。n 行 2 列の string 配列として指定します。非 ASCII 文字はサポートされません。1 列目は環境変数の名前、2 列目はその値です。
出力引数
mh
— ホスト プロセス
matlab.mex.MexHost
オブジェクト
ホスト プロセス。matlab.mex.MexHost
オブジェクトとして返されます。このプロセスを使用して MATLAB プロセス以外で C++ MEX 関数を実行します。
詳細
プロセスのライフ サイクル
C++ MEX 関数のアンロード
すべての C++ MEX 関数をそれぞれのホスト プロセスからアンロードするには、clear
mex
または clear
functions
を呼び出します。すべてのホスト プロセスで実行している特定の C++ MEX 関数をアンロードするには、関数名で clear
を呼び出します。詳細については、関数 clear
およびC++ MEX 関数のアウトプロセスでの実行を参照してください。
バージョン履歴
R2019a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)