Возможный дубликат:
Как проверить (через препроцессор), если исходный файл C скомпилирован как код на С++
Я пытаюсь найти стандартный макрос, который будет проверять, компилируется ли заголовочный файл как C или как С++. Цель этого заключается в том, что заголовок может быть включен кодом C или С++ и должен вести себя несколько иначе, в зависимости от того, какой. В частности:
В C мне нужно, чтобы это был код:
extern size_t insert (const char*);
В С++ мне нужно, чтобы это был код:
extern "C" size_t insert (const char*);
Кроме того, есть ли способ избежать размещения #ifdef вокруг каждого объявления в заголовке?