MATLAB Answers

「置換名前」にdou​bleやint等のC​言語のデータタイプを​入力すると、エラーが​出力されるのはなぜで​すか?

조회 수: 6(최근 30일)
コンフィギュレーションパラメータの「コード生成」→「データ型置換」ペインで「生成コード内のデータ型名を置換する」にチェックを入れ、「置換名前」にdoubleやint等のC言語のデータタイプを入力すると、エラーが出力されます。
(エラーメッセージ)
'double/real_T'('コード生成/データ型置換'ページ)に対して入力された値が無効です。'double'はCのキーワードであり、置換タイプとして使うことはできません。
入力された値:'double'
前の値:"
 

채택된 답변

MathWorks Support Team
MathWorks Support Team 2021년 8월 11일
편집: MathWorks Support Team 2021년 8월 11일
置き換えるデータタイプ名に対してdoubleやint等のC言語の予約語を指定することはできません。
使用できない予約語(予約キーワード)に関しては、次の URL にまとまっています。
[予約キーワード]
Embedded Coder独自のデータタイプからC言語の予約語に変更したい場合は、コード生成後にCコードの編集を行う必要があります。
回答上部に添付されているサンプル
 ・changeint16.slx
 ・ert_make_rtw_hook.m
 ・rtw2c.m
では、ユーザ独自の処理を実行するためのert_make_rtw_hook.mを使用し、コード生成後に文字列を置換する処理を行っています。
ert_make_rtw_hook.mは下記フォルダに保存されています。
※ matlabrootは MATLABのインストールディレクトリを表します。
matlabroot/toolbox/coder/embeddedcoder
コード生成を行うと、changeint16.cとchangeint16.hのint16_Tがshortに置換されます。
ert_make_rtw_hook.mは、101行目のafter_tlcがコード生成後に呼ばれる処理を記述する部分となりますので、ここでrtw2c.mを呼び出しています。
rtw2c.mでは、ファイルの別名保存や文字列の置換処理を行っています。
本件に関するヘルプドキュメントは、下記URLよりご覧下さい。
● Simulink Coderヘルプドキュメント:STF_make_rtw_hook ファイルによるビルド プロセスのカスタマイズ

추가 답변(0개)

제품


릴리스

R2008a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!