主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

codegenコマンドの等価なMATLAB编码器プロジェクトへの変換

codegenコマンドを-toprojectオプション付きで使用すると,codegenコマンドを等価なMATLAB®编码器™プロジェクトファイルに変換できます。その後,codegenコマンドをもう一度使用するかMATLAB编码器アプリを使用して,プロジェクトファイルからコードを生成することができます。

たとえば,入力引数input_argumentsをもつcodegenコマンドを,プロジェクトファイルmyProject.prjに変換するには,以下を実行します。

codegeninput_arguments-toprojectmyProject.prj

codegenの入力引数には以下を含みます。

  • エントリポイント関数の名前

  • arg游戏オプションを使用して指定された入力型の定義

  • 構成オブジェクトで指定されたパラメーターを含む,コード生成オプション

  • 生成されるコードに含めるカスタムソースファイルの名前

-toprojectオプションを使用して,不完全なcodegenコマンドをプロジェクトファイルに変換することもできます。たとえば,構成オブジェクトcfgに格納されているコード生成パラメーターのみが含まれるプロジェクトファイルmyProjectTemplate.prjを作成するには,次を実行します。

codegen配置cfg-toprojectmyProjectTemplate.prj
myProjectTemplate.prjには,エントリポイント関数や入力型の指定が含まれません。そのため,このプロジェクトファイルからコードを生成することはできません。MATLAB编码器アプリでmyProjectTemplate.prjを開いて,コード生成に使用できる完全なプロジェクトファイルを作成するためのテンプレートとして使用できます。

メモ

codegenコマンドを-toproject付きで実行すると,コードは生成されません。プロジェクトファイルが作成されるだけです。

例:完全なcodegenコマンドのプロジェクトファイルへの変換

2つの値の合計を返すMATLAB関数myaddを定義します。

函数y = myadd (u, v)% # codegenY = u + v;结束

スタティックライブラリを生成するための编码器。CodeConfigオブジェクトを作成します。TargetLang“c++”に設定します。

cfg = coder.config (“自由”);cfg。TargetLang =“c++”

MATLABコマンドラインで,codegenコマンドを作成し,実行します。エントリポイント関数としてmyaddを指定します。myaddへの入力を,次元が無制限の型可変サイズ行列として指定します。コード構成オブジェクトとしてcfgを指定します。codegenコマンドをmyadd_project.prjという名前をもつ等価のMATLAB编码器プロジェクトファイルに変換するために,-toprojectオプションを含めます。

codegen配置cfgmyaddarg游戏{coder.typeof([正无穷,正无穷]),coder.typeof(1[正无穷,正无穷])}-toprojectmyadd_project.prj
项目文件的myadd_project。成功创建Prj。开放项目

コードジェネレーターによってプロジェクトファイルmyadd_project.prjが現在の作業フォルダーに作成されます。-toprojectオプションを指定してcodegenを実行しても,コードは生成されません。プロジェクトファイルが作成されるだけです。

もう一度codegenコマンドを使用して,myadd_project.prjからコードを生成します。

codegenmyadd_project.prj

コードジェネレーターによってc++スタティックライブラリ関数myadd工作\ codegen \ lib \ myaddフォルダーに作成されます。ここで,工作が現在の作業ディレクトリです。

例:不完全なcodegenコマンドのテンプレートプロジェクトファイルへの変換

スタティックライブラリを生成するための编码器。CodeConfigオブジェクトを作成します。TargetLang“c++”に設定します。

cfg = coder.config (“自由”);cfg。TargetLang =“c++”

MATLABコマンドラインで,codegenコマンドを作成し,実行します。コード構成オブジェクトとしてcfgを指定します。codegenコマンドをmyProjectTemplate.prjという名前をもつ等価のMATLAB编码器プロジェクトファイルに変換するために,-toprojectオプションを含めます。

codegen配置cfg-toprojectmyProjectTemplate.prj
项目文件的myProjectTemplate。成功创建Prj。开放项目

これで,MATLAB编码器アプリでmyProjectTemplate.prjを開いて,コード生成に使用できる完全なプロジェクトファイルを作成するためのテンプレートとして使用できるようになりました。

制限

codegenコマンドを-toprojectオプション付きで使用するとき,次の制限事項が適用されます。

  • 编码器。EmbeddedCodeConfigオブジェクトのCodeTemplateパラメーターのプロジェクトファイルへのエクスポートはサポートされていません。

  • 墨西哥人関数を生成するためのcodegenコマンドにおいて,fi(定点设计师)オブジェクトobjである定数入力を定義するために编码器。常数が使用されていると仮定します。

    特定のfiオブジェクトプロパティが他のプロパティによって有効化されています。fiオブジェクトを作成するとき,これらのプロパティは明示的に変更しない限り,それぞれの既定値に設定されます。objで,有効化されていない1つ以上のプロパティを既定以外の値に設定します。fiオブジェクトプロパティ(定点设计师)を参照してください。

    -toprojectオプションを使用して,このcodegenコマンドをプロジェクトファイルに変換します。プロジェクトファイルをビルドし,墨西哥人関数を生成します。生成される墨西哥人関数にobjを定数入力引数として渡し,墨西哥人を実行すると,墨西哥人はエラーをスローすることがあります。

    この問題を解決するには,有効化されていないobjのプロパティを,墨西哥人関数に渡す前に,それぞれの既定値に設定しなければなりません。これを行うには,新しいfiオブジェクトobj_newを定義します。

    一个= mat2str (obj);obj_new = eval ();

    obj_newを生成される墨西哥人関数に定数入力として渡します。

参考

関連するトピック