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
の戻り値を受け取ります。