Это является хорошей идеей, чтобы компилятор знал, чтобы он мог ожидать кода C при компиляции как C ++. Вы также можете обнаружить, что сами файлы заголовков содержат extern "C" {
в качестве охранников.
Например, curses.h
в моей системе содержит:
#ifdef __cplusplus
extern "C" {
...