Зачем нам нужно использовать:
extern "C" {
#include <foo.h>
}
В частности:
-
Когда мы должны его использовать?
-
Что происходит на уровне компилятора/компоновщика, который требует от нас его использовать?
-
Как с точки зрения компиляции/связывания это решает проблемы, которые требуют от нас использования?