「置換名前」にdoubleやint等のC言語のデータタイプを入力すると、エラーが出力されるのはなぜですか?
7 views (last 30 days)
Show older comments
MathWorks Support Team
on 25 Oct 2013
Edited: MathWorks Support Team
on 31 Dec 2021
コンフィギュレーションパラメータの「コード生成」→「データ型置換」ペインで「生成コード内のデータ型名を置換する」にチェックを入れ、「置換名前」にdoubleやint等のC言語のデータタイプを入力すると、エラーが出力されます。
(エラーメッセージ)
'double/real_T'('コード生成/データ型置換'ページ)に対して入力された値が無効です。'double'はCのキーワードであり、置換タイプとして使うことはできません。
入力された値:'double'
前の値:"
Accepted Answer
MathWorks Support Team
on 31 Dec 2021
Edited: MathWorks Support Team
on 31 Dec 2021
置き換えるデータタイプ名に対して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 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!