最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

coder.ReplacementTypes

C/C++ コード生成における MATLAB 組み込みデータ型のカスタム名を指定する構成パラメーター。

説明

coder.ReplacementTypes オブジェクトには、コード ジェネレーターが C/C++ コード生成において MATLAB® 組み込みデータ型のカスタム データ型名の作成に使用する構成パラメーターが含まれます。

coder.ReplacementTypes オブジェクトを、関数 codegen に渡す Embedded Coder® 構成オブジェクト (coder.EmbeddedCodeConfig オブジェクト) に関連付けなければなりません。

coder.ReplacementTypes プロパティには、コマンド ライン インターフェイス (MATLAB 組み込みデータ型のカスタム名の指定を参照) または関連付けられた構成オブジェクトのダイアログ ボックス (ダイアログ ボックスを介した型置換プロパティへのアクセスを参照) のいずれかからアクセスできます。

作成

スタンドアロン コードを生成するための coder.EmbeddedCodeConfig オブジェクトの作成には、関数 coder.config を使用します。関数 coder.config によって coder.EmbeddedCodeConfig オブジェクトが作成されるときに、ReplacementTypes プロパティが coder.ReplacementTypes オブジェクトに設定されます。

プロパティ

すべて展開する

生成された C/C++ コード内の double データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コード内の single データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コード内の uint8 データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コード内の uint16 データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コード内の uint32 データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コード内の uint64 データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コード内の int8 データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コード内の int16 データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コード内の int32 データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コード内の int64 データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コード内の char データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コード内の logical データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。

生成された C/C++ コードで使用するために外部ヘッダー ファイルから型定義をインポートすることを有効または無効にします。

説明
false

この値が既定値です。

カスタム型定義がファイル rtwtypes.h で生成されます。コード生成において、型定義を外部ヘッダー ファイルからインポートすることができません。

true

コード生成において、型定義を外部ヘッダー ファイルからインポートすることができます。指定されたヘッダー ファイルは <function>_types.h に含まれています。たとえば、関数名が myFunc である場合、外部ヘッダー ファイルは生成されたヘッダー ファイル myFunc_types.h に含まれています。

カスタム型定義を含む外部ヘッダー ファイル名。

複数のヘッダー ファイルを指定するには、セミコロンで区切られたヘッダー ファイル名のリストを ReplacementTypes.HeaderFiles で使用します。たとえば、 cfg.ReplacementTypes.HeaderFiles = "myHeader1.h;myHeader2.h;myHeader3.h" です。

すべて折りたたむ

コードを生成できる MATLAB 関数を記述します。この例では、入力の合計を返す関数 myAdd.m を使用します。

function c = myAdd(a,b)
c = a + b;
end

スタティック ライブラリ生成用の coder.EmbeddedCodeConfig オブジェクトを作成します。

cfg = coder.config('lib','ecoder',true);

EnableCustomReplacementTypestrue に設定します。

cfg.EnableCustomReplacementTypes = true;

MATLAB 組み込みデータ型のカスタム名を指定します。たとえば、コードでは、double には Custom_Double という名前が付けられ、int8 には Custom_Int8 という名前が付けられます。

cfg.ReplacementTypes.double = "Custom_Double";
cfg.ReplacementTypes.int8 = "Custom_Int8";

関数 codegen-config オプションを使用してコードを生成します。

codegen myAdd.m -args {1,int8(1)} -config cfg -report

生成されたコードにはカスタム データ型名が含まれています。

書き込み可能なフォルダー myFiles を作成します。

コードを生成できる MATLAB 関数を記述します。関数を myFiles に保存します。この例では、入力の合計を返す関数 myAdd.m を使用します。

function c = myAdd(a,b)
c = a + b;
end

関数 myAdd.m の 2 つの入力の型定義を含むヘッダー ファイル myHeader.h を記述します。それを myFiles に保存します。

#if !defined(MYHEADER)
#define MYHEADER
typedef double Custom_Double;
typedef char Custom_Int8;
#endif

スタティック ライブラリ生成用の coder.EmbeddedCodeConfig オブジェクトを作成します。

cfg = coder.config('lib','ecoder',true);

MATLAB 組み込みデータ型のカスタム名を指定します。たとえば、コードでは、double には Custom_Double という名前が付けられ、int8 には Custom_Int8 という名前が付けられます。

cfg.EnableCustomReplacementTypes = true;
cfg.ReplacementTypes.double = "Custom_Double";
cfg.ReplacementTypes.int8 = "Custom_Int8";

外部ヘッダー ファイルをインポートするためのコンフィギュレーション プロパティを指定します。

% Include single header file

cfg.ReplacementTypes.IsExtern = true;
cfg.ReplacementTypes.HeaderFiles = "myHeader.h";
cfg.CustomInclude = 'C:\myFiles'; % Include path of the header file

% Include multiple header files

cfg.ReplacementTypes.IsExtern = true;
cfg.ReplacementTypes.HeaderFiles = "myHeader1.h;myHeader2.h;myHeader3.h";
cfg.CustomInclude = '"C:\Program Files\MATLAB\myFiles"'; % Include path of the header files

関数 codegen-config オプションを使用してコードを生成します。

codegen myAdd.m -args {1,int8(1)} -config cfg -report

生成されたコードでは、myAdd_types.h には外部ヘッダー ファイル myHeader.h が含まれます。

カスタム データ型定義を外部ヘッダー ファイルからインポートする方法の詳細については、Import Custom Data Type Definitions from External Header Files (Embedded Coder)を参照してください。

coder.ReplacementTypes オブジェクトを参照する構成オブジェクトのダイアログ ボックスを開きます。以下に例を示します。

cfg = coder.config('lib');
open('cfg');

ダイアログ ボックスで、[コード外観] タブをクリックします。

[カスタム データ型の置換を有効化] を選択します。[カスタム データ型の置換] テーブルには、サポートされるデータ型の名前がリストされます。これらのデータ型のカスタム名を指定して、Enter キーを押します。

外部ヘッダー ファイルから独自のカスタム型定義をインポートできます。[外部ヘッダー ファイルからカスタムの型をインポート] チェック ボックスをオンにします。[ヘッダー ファイル] テキスト フィールドに、セミコロンで区切られた外部ヘッダー ファイル名のリストを入力します。詳細については、Import Custom Data Type Definitions from External Header Files (Embedded Coder)を参照してください。

構成オブジェクト ダイアログ ボックスは MATLAB Online™ でサポートされていません。

R2019b で導入