このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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
オブジェクトに設定されます。
プロパティ
double
— double
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の double
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
single
— single
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の single
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
uint8
— uint8
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の uint8
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
uint16
— uint16
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の uint16
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
uint32
— uint32
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の uint32
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
uint64
— uint64
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の uint64
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
int8
— int8
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の int8
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
int16
— int16
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の int16
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
int32
— int32
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の int32
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
int64
— int64
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の int64
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
char
— char
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の char
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
logical
— logical
データ型のカスタム名
' ' (既定値) | 文字ベクトル | string スカラー
生成された C/C++ コード内の logical
データ型のカスタム名。文字ベクトルまたは string スカラーとして指定します。
IsExtern
— 型定義を外部ヘッダー ファイルからインポート
false
(既定値) | true
| 論理値
生成された C/C++ コードで使用するために外部ヘッダー ファイルから型定義をインポートすることを有効または無効にします。
値 | 説明 |
---|---|
false | この値が既定値です。 カスタム型定義がファイル |
true | コード生成において、型定義を外部ヘッダー ファイルからインポートすることができます。指定されたヘッダー ファイルは |
HeaderFiles
— インポート用の外部ヘッダー ファイルの名前
' ' (既定値) | string 配列 | 文字ベクトルの cell 配列 | 文字ベクトル
カスタム型定義を含む外部ヘッダー ファイル名。
単一のヘッダー ファイル名を指定するには、文字ベクトルまたは string スカラーを使用できます。
複数のヘッダー ファイルを指定するには、この表のいずれかの値を使用します。
値 | 説明 |
---|---|
string 配列 |
|
文字ベクトルの cell 配列 |
|
例
MATLAB 組み込みデータ型のカスタム名の指定
コードを生成できる MATLAB 関数を記述します。この例では、入力の合計を返す関数 myAdd.m
を使用します。
function c = myAdd(a,b) c = a + b; end
スタティック ライブラリ生成用の coder.EmbeddedCodeConfig
オブジェクトを作成します。
cfg = coder.config('lib','ecoder',true);
EnableCustomReplacementTypes
を true
に設定します。
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)を参照してください。
コマンド ライン ワークフローで対話的に構成パラメーターを指定を参照してください。
バージョン履歴
R2019b で導入R2024a: coder.ReplacementTypes
オブジェクトでセミコロンを使用して複数のヘッダー ファイルを指定する機能が削除
文字ベクトル内でセミコロンを使用して coder.ReplacementTypes
オブジェクトの HeaderFiles
プロパティで複数のファイル名を区切って指定しようとすると、コード ジェネレーターでエラーが生成されます。代わりに string 配列または文字ベクトルの cell 配列を使用してください。次に例を示します。
string 配列を使用 —
cfg.ReplacementTypes.HeaderFiles = ["myHeader1.h","myHeader2.h","myHeader3.h"]
文字ベクトルの cell 配列を使用 —
cfg.ReplacementTypes.HeaderFiles = {'myHeader1.h','myHeader2.h','myHeader3.h'}
R2023b: coder.ReplacementTypes
オブジェクトでセミコロンを使用して複数のヘッダー ファイルを指定すると警告が発生する
文字ベクトル内でセミコロンを使用して coder.ReplacementTypes
オブジェクトの HeaderFiles
プロパティで複数のファイル名を区切って指定すると警告が生成されます。この用法は将来のリリースで削除される予定です。代わりに string 配列または文字ベクトルの cell 配列を使用してください。次に例を示します。
string 配列を使用 —
cfg.ReplacementTypes.HeaderFiles = ["myHeader1.h","myHeader2.h","myHeader3.h"]
文字ベクトルの cell 配列を使用 —
cfg.ReplacementTypes.HeaderFiles = {'myHeader1.h','myHeader2.h','myHeader3.h'}
R2021a: コード構成オブジェクトで文字ベクトルを使用して複数のエントリを指定する機能は削除予定
将来のリリースでは、コード構成オブジェクトでの区切り記号を含む文字ベクトルまたは string スカラーを使用した複数のファイル名、パス、予約名の指定は削除される予定です。代わりに string 配列または文字ベクトルの cell 配列を使用してください。たとえば、複数のヘッダー ファイル名をインクルードするには、ReplacementTypes.HeaderFiles
で string 配列を cfg.ReplacementTypes.HeaderFiles = ["myHeader1.h","myHeader2.h","myHeader3.h"]
として使用するか、文字ベクトルの cell 配列を cfg.ReplacementTypes.HeaderFiles = {'myHeader1.h','myHeader2.h','myHeader3.h'}
として使用できます。
参考
関数
オブジェクト
トピック
- データ型置換のカスタマイズ (Embedded Coder)
- Import Custom Data Type Definitions from External Header Files (Embedded Coder)
- コマンド ライン ワークフローで対話的に構成パラメーターを指定
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)