Ключевое слово extern в c

Возможный дубликат:
Зачем нам нужен extern "C" {#include } в C++?

много раз в нашем коде я видел некоторые утверждения, подобные следующим:

extern "C" {

//some code

        }; 

что это значит?

3 ответа

Он говорит компилятору обрабатывать следующий код как код C, а не как код C++

Он сообщает компилятору C++, что "некоторый код" должен быть скомпилирован в стиле C. Это позволяет связать код C и C++.

Более того, компоновщик не найдет функции с компоновкой C++ при вызове из функции C, если только вы не укажете, что функции должны иметь одинаковый тип компоновки. Таким образом, вы получите всевозможные ошибки в ссылках, которые не будут очевидны с точки зрения причин.

Другие вопросы по тегам