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

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

Accepted Answer

MathWorks Support Team
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 ファイルによるビルド プロセスのカスタマイズ

More Answers (0)

Categories

Find more on 配布 in Help Center and File Exchange

Products


Release

R2008a

Community Treasure Hunt

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

Start Hunting!