Как запустить __cplusplus (С++) #ifdef?
#ifdef __cplusplus
// C++ code
#else
// C code
#endif
Структура - это.
Мой вопрос в том, как на самом деле запустить #ifdef
on?
Я имею в виду, в программе? Какой код я могу написать #ifdef
на?
Например, в этом случае.
что
#define __cplusplus
включит его?
Ответы
Ответ 1
"# define __cplusplus"
разрешит его?
Да, он "включит".
__cplusplus
должен автоматически определяться компилятором С++. С++ использует другое название mangling и макрос, часто используемый для создания заголовков C, совместимых с С++:
#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif
Ответ 2
Просто скомпилируйте его с помощью компилятора С++ и __cplusplus
автоматически определяется в этом случае.
Ответ 3
Стандарт С++ предусматривает, что __cplusplus
всегда будет определен в программах на С++. Стандарт C, очевидно, нет. Это означает, что пользователю необходимо приложить все усилия, чтобы включить эту технику.
Ответ 4
Компилятор С++ определяет это автоматически.
Так как это начинается с двух последовательных символов подчеркивания, оно зарезервировано. Вы не можете сами определить его (т.е. Попытка сделать это дает поведение undefined).