Obtain variable name in TLC
6 次查看(过去 30 天)
显示 更早的评论
I am creating a TLC file for my S-Function and I would like to produce c-code to determine the size of my vector-output-signal array via the sizeof function.
However, both LibBlockInputSignalAddr(0, "", "", 0) and LibBlockInputSignal(0, "", "", 0) only return a reference to the first element of the output signal, thus, sizeof will only return the size of one element of the corrsponding array:
sizeof testModel_Y.Outport[0]
Instead I would like to achieve:
sizeof testModel_Y.Outport
Is it possible generate this statement using a TLC file?
0 个评论
采纳的回答
Andy Bartlett
2022-7-22
Consider doing it in two parts
bytes = LibBlockInputSignalWidth(0) * sizeof( LibBlockInputSignal(0, "", "", 0) )
更多回答(1 个)
Walter Roberson
2022-7-25
In C,
sizeof testModel_Y.Outport
is the size of the pointer contained in testModel_Y.Outport . Multiplying the size of one element by the number of elements is the standard way to measure size of an array in C.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Target Language Compiler 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!