Ключевое слово extern в c
Возможный дубликат:
Зачем нам нужен extern "C" {#include} в C++?
много раз в нашем коде я видел некоторые утверждения, подобные следующим:
extern "C" {
//some code
};
что это значит?
3 ответа
Он говорит компилятору обрабатывать следующий код как код C, а не как код C++
Он сообщает компилятору C++, что "некоторый код" должен быть скомпилирован в стиле C. Это позволяет связать код C и C++.
Более того, компоновщик не найдет функции с компоновкой C++ при вызове из функции C, если только вы не укажете, что функции должны иметь одинаковый тип компоновки. Таким образом, вы получите всевозможные ошибки в ссылках, которые не будут очевидны с точки зрения причин.