外部コードの統合
C/C++ で開発した外部コード、カスタム コードまたはレガシ コードがある場合、それを MATLAB コードに直接統合できます。以下に例を示します。
C/C++ 関数を呼び出すには、関数
coder.cevalを使用します。コード ジェネレーターは C/C++ コードを MATLAB で生成された C/C++ コードに統合します。生成されたコードで使用する C/C++ で開発された外部ライブラリ、最適化されたコード、またはオブジェクト ファイルがあるときは、コードを統合します。ポインター型や外部ファイル I/O の
FILE型など、MATLAB コードで定義可能ではないデータ型を外部コードとやり取りするには、coder.opaque関数を使用します。外部ソース ファイル、ヘッダー ファイル、オブジェクト ファイル、およびライブラリを含めてリンクするようにビルドを構成するには、
coder.updateBuildInfo関数を使用します。外部 C ライブラリに対するオブジェクト指向のインターフェイスを提供するには、関数呼び出しを
coder.ExternalDependencyスーパークラスから派生したクラスにパッケージ化します。生成コードと統合するカスタム C/C++ コードで使用するために特定の識別子名を予約するには、
coder.reservedName関数を使用します。外部構造体型とのインターフェイスをとるには、
coder.cstructname関数を使用します。
クラス
coder.ExternalDependency | 外部コードへのインターフェイス |
coder.BuildConfig | コード生成時のビルド コンテキスト |
関数
coder.ceval | 生成コードから C/C++ 関数を呼び出す |
coder.ref | 参照渡しするデータを示す |
coder.rref | 参照渡しする読み取り専用データを示す |
coder.wref | 参照渡しする書き込み専用データを示す |
coder.cinclude | 生成コードにヘッダー ファイルをインクルードする |
coder.opaque | 生成コード内の変数の宣言 |
coder.reservedName | 指定された識別子名を使用しないコードの生成 |
coder.updateBuildInfo | RTW.BuildInfo ビルド情報オブジェクトの更新 |
トピック
- 外部 C/C++ コードのビルドの構成
外部 C/C++ コードのソース ファイルとビルド パラメーターを指定する。
- Integrate External Code That Uses Pointers, Structures, and Arrays
Integrate external C code that uses pointers, structures, and arrays into MATLAB code.
- Pass by Reference to and from External C Functions
Pass data by reference to and from an external C function.
- Integrate External Code That Uses Custom Data Types
Use C types that are not native to MATLAB in an external function.
- 外部 C/C++ コードのインターフェイスの開発
クラス インターフェイスを使用して外部コードにアクセスする。
- 生成コードの型への MATLAB 型のマッピング
コード ジェネレーターが MATLAB データ型を生成された C/C++ コードのデータ型にマッピングする方法を理解する。
- 生成された複数の C++ コード プロジェクトの統合
2 つのプロジェクトから生成された C++ コードを、より大きい単一のプロジェクトに統合します。
トラブルシューティング
外部 C/C++ 関数呼び出しの出力タイプを定義する。
