メインコンテンツ

C Function ブロックからの C++ クラス メソッドの直接呼び出し

この例では、C Function ブロックを使用して C++ クラス メソッドを呼び出す方法を示します。この例では、C++ クラスとそのメソッドが adder_cpp.h で定義され、adder_cpp.cpp で実装されています。

このモデル例を実行するには、MATLAB® で C++ コンパイラを実行するよう設定しなければなりません。これは、mex -setup C++ コマンドを使用して C++ コンパイラを選択することで行えます。

C Function ブロックからの C++ クラスへのアクセスを有効にするため、モデルの [コンフィギュレーション パラメーター][シミュレーション ターゲット] ペインでヘッダー ファイルとソース ファイルを指定します。このモデルのカスタム コード ヘッダー ファイル adder_cpp.h は、クラス メソッドとともに adder クラスを宣言します。

[出力コード] セクションで、クラス メソッドが呼び出されます。この例では、C Function ブロックの端子は次のように設定されます。

  • adder クラス オブジェクト adderObj は、C Function ブロックの永続シンボルであり、クラス オブジェクトをブロックで使用するためにインスタンス化したものです。このオブジェクトはシミュレーションの終了時に破棄されます。

  • C Function ブロックの入力は increment にマッピングされます。これは、クラス メソッド add_one の入力引数です。

  • C Function ブロックの出力は output にマッピングされます。これは、クラス メソッド add_one の戻り値を受け取ります。

参考

トピック