Azzera filtri
Azzera filtri

C++ code generation: is it possible to put struct declaration in a namespace?

7 visualizzazioni (ultimi 30 giorni)
Hello,
I am generating C++ code using Embedded Coder in v2021b. I am able to put the generated class in my chosen namespace via the Code Interface dialog:
But in my model i am using various buses, which are translated in C++ structs, which in turn reside in the global namespace.
Is there a way to specify a namespace for these structs too?

Risposte (1)

Yoga
Yoga il 10 Set 2023
I understand that you want to specify a namespace for structs that result out of the various buses you use in the model. This is possible by interactively configuring the C++ resultant code.
I hope this helps resolve your issue.
  2 Commenti
fraben
fraben il 13 Set 2023
Hello Yoga,
Thanks for your answer! I skimmed through the page you linked, but it seems to be only possible to wrap the model's class in a namespace.
I already did that, but from what i understand i can't control the namespace which will contain the structs corresponding to the buses entering/exiting the model: they, indeed, reside in the global namespace.
Daniel Paukner
Daniel Paukner il 9 Ago 2024 alle 20:16
I have a similar problem.
I define a class namespace using the interactive method stated on the site mentioned by Yoga, and it is used for the generated code of the model class.
But i also define input & output busses, and in those, i reference external enum definitions. I converted the enums from my C++ header using simulink.importExternalCTypes() and the enums work when i test my model in simulink. But when i code the model, the bus definitions get written into codermodel_types.h and are not nested within the namespace of the parent model. My external enum definition did however specify the enums in a namespace for name collision reasons.
When i add the line "using namespace <mynamespace>" in codermodel_types.h, it compiles without a hitch, but i need to manually add that. How do i get simulink embedded coder to add that line for me, or even better, drop ALL the code it creates into the namespace i give it?

Accedi per commentare.

Categorie

Scopri di più su Simulink Coder in Help Center e File Exchange

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by