Can I change the name of a function during codegen?
9 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Tyson Lawrence
le 5 Mar 2020
Commenté : Mathias Tantau
le 25 Nov 2022
Can I change the name of a function during codegen? For example, if I hava a Matlab function called foo, can I make its genrated C function name be something like foo_cg (_cg for CodeGen)?. The motivation for this is that I have a custom version of the C foo and legacy code that uses it, and I don't want to change that code. I also have legacy Matlab code that uses the Matlab foo, so I don't want to changes its name either.
0 commentaires
Réponse acceptée
Denis Gurchenkov
le 5 Mar 2020
Unfortunately, no, there is no mechanism to rename the function in the generated C code. I've added a request for the development team to add this capability in a future release.
If you use MATLAB Coder to generate C++ code, then there is a possible solution -- use the "Generate code in a namespace" feature, so that you get C++ code for foo() in a custom namespace of your choice, so it does not collide with your other foo: https://www.mathworks.com/help/coder/ug/cpp-code-generation.html
3 commentaires
Walter Roberson
le 5 Mar 2020
Could you just add a #define ? In most compilers these days, that does not even require a file: it can often be done by adding a -DNAME=VALUE option to the command line or build options.
Mathias Tantau
le 25 Nov 2022
Has this problem been solved by now so that function names of standard functions such as round() can be changed to e.g. round_cg() in the generated c-code?
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!