max length in emxutil function names causing truncation

I have a question regarding the use of coder.cstructname. I’m using this to control the name of a field which is a dynamically allocated array of structures. The problem I have is the names of the emx util (*_emxutil.h) functions get truncated when the names I specify in the cstructname command are too long.
Example:
coder.cstructname(racc_output.TrackNameProfile.TrackNameEntity,'TrackNameEntity');
extern void c_emxEnsureCapacity_TrackNameEn(emxArray_TrackNameEntity *emxArray, int32_T oldNumel);
To avoid this truncation and the ‘c_’ at the beginning I have to use:
coder.cstructname(racc_output.TrackNameProfile.TrackNameEntity,' TrackNameEnti');
extern void emxEnsureCapacity_TrackNameEnti(emxArray_TrackNameEnti *emxArray, int32_T oldNumel);
Thanks in advance for your help! Joe

 採用された回答

Joseph Wakeman
Joseph Wakeman 2015 年 6 月 18 日

0 投票

MATLAB got back to me with the answer:
For standalone code (i.e. DLL, LIB, and EXE), try increasing the maximum identifier length from the default of 32:
cfg = coder.config('lib');
cfg.MaxIdLength = 64; % or however long is needed
codegen ... -config cfg

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSimulink Coder についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by