max length in emxutil function names causing truncation

3 views (last 30 days)
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

Accepted Answer

Joseph Wakeman
Joseph Wakeman on 18 Jun 2015
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

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!