「置換名前」にdoubleやint等のC言語のデータタイプを入力すると、エラーが出力されるのはなぜですか?
9 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
Categories
Find more on インストールとライセンスの紹介 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!