How to prevent #include "rt_nonfinite.h" with extern "C" in C++ generated Code

8 vues (au cours des 30 derniers jours)
Moritz Oberacker
Moritz Oberacker le 20 Jan 2025
Commenté : 埃博拉酱 le 21 Jan 2025
Hi everyone
I use the Embedded Coder to generate C++ Code from a Simulink Model. Unfortunately, the generated Code includes some headerfiles as extern "C":
extern "C"
{
#include "rt_nonfinite.h"
}
extern "C"
{
#include "rtGetInf.h"
}
extern "C"
{
#include "rtGetNaN.h"
}
The problem with this is, that some of these headers include other headers themselfes, like in rt_nonfinite.h:
#include <stddef.h>
which I don't want to import as C. Also almost all contents of the headers are enclosed with a
#ifdef __cplusplus
extern "C"
{
#endif
which makes the extern "C" around the include obsolete as I understand it.
Is there a way to prevent embedded Coder from including headerfiles with extern "C"?
  1 commentaire
埃博拉酱
埃博拉酱 le 21 Jan 2025
Importing standard C library headers with extern "C" usually doesn't cause much of a problem. Is there any particular reason why you don't want to import as C?

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Simulink Coder dans Help Center et File Exchange

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by