Main Content

アルゴリズム設計の基礎

コード生成のためのアルゴリズム設計の考慮事項、生成されたコードの動作

MATLAB® アルゴリズムからコードを生成すると、ソフトウェアの設計、実装、テストを完全に MATLAB ワークスペース内で行えるようになります。次のことが可能です。

  • アルゴリズムがコード生成に適しているかを検証できます。

  • 効率的で読みやすく、コンパクトな C/C++ コードを自動的に生成できます。そのため、手作業で変換する必要がなくなり、コードにエラーを組み込むリスクを最小限に抑えられます。

  • MATLAB コードにおいて、データ型管理、メモリ使用、速度などデスクトップおよび組み込みアプリケーションに固有の要件を考慮するように設計内容を変更することができます。

  • 生成されたコードをテストし、変更後のアルゴリズムが元の MATLAB アルゴリズムと機能的に同じであることを簡単に検証できます。

  • MEX 関数を生成して、MATLAB アルゴリズムを高速化したり、固定小数点 MATLAB コードを高速化したりできます。

  • MATLAB コードからハードウェア記述言語 (HDL) を生成します。

関数

coder.allowpcodeP コード ファイルからのコード生成の制御
coder.ceval外部 C/C++ 関数の呼び出し
coder.cinclude生成コードにヘッダー ファイルをインクルードする
coder.cstructname生成されたコードでの C 構造体に名前を付ける
coder.extrinsic外部として関数を宣言し MATLAB で実行する
coder.inline生成されたコードで現在の関数のインライン化を制御する
coder.inlineCallInline called function in generated code (R2024a 以降)
coder.loadMAT ファイルまたは ASCII ファイルからコンパイル時の定数を読み込む
coder.nonInlineCallPrevent inlining of called function in generated code (R2024a 以降)
coder.nullcopyコード生成での初期化されていない変数の宣言
coder.opaque生成コード内の変数の宣言
coder.ref参照渡しするデータを示す
coder.screener関数がコード生成に適しているかどうか判別
coder.rref参照渡しする読み取り専用データを示す
coder.targetコード生成ターゲットが指定されたターゲットかどうかを判別
coder.unroll各ループ反復でループ本体のコピーを作成することで、for ループを展開
coder.varsize可変サイズのデータの宣言
coder.wref参照渡しする書き込み専用データを示す
coder.updateBuildInfoビルド情報オブジェクト RTW.BuildInfo の更新

クラス

coder.ExternalDependency外部コードへのインターフェイス
coder.BuildConfigコード生成時のビルド コンテキスト

トピック

トラブルシューティング

coder.ceval の出力タイプが不明

外部 C/C++ 関数呼び出しの出力タイプを定義する。