Есть ли разница, использую ли я спецификатор extern "C" для всего заголовка или указываю extern для каждой функции?
Насколько мне известно, ее нет, поскольку только функции и переменные могут быть связаны извне, поэтому, когда я использую спецификатор extern перед каждым прототипом функции и переменной extern, у меня нет необходимости использовать глобальное объявление extern "C"!?
Пример А:
#ifdef __cplusplus
extern "C" {
#endif
void whatever(void);
#endif
Пример Б:
extern void whatever(void);
Подробнее здесь: https://stackoverflow.com/questions/440 ... and-extern