Проще говоря, когда мне следует использовать extern «C»? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Проще говоря, когда мне следует использовать extern «C»? [дубликат]

Сообщение Anonymous »

Возможно, я не понимаю разницы между C и C++, но когда и почему нам нужно использовать

Код: Выделить всё

extern "C" {
? Видимо, это «соглашение о связывании».
Я кратко прочитал об этом и заметил, что все заголовочные файлы .h*, включенные в Microsoft Visual Studio, окружают им свой код. Какой именно тип кода является «кодом C», а не «кодом C++»? Я думал, что C++ включает в себя весь код C?
Я предполагаю, что это не так, и что C++ отличается и что стандартные функции/функции существуют в одном или другом, но не в обоих (т. е.: printf — это C, а cout — это C++), но C++ обратно совместим, несмотря на объявление extern «C». Правильно ли это?
Мой следующий вопрос зависит от ответа на первый, но я все равно задам его здесь: поскольку заголовочные файлы Microsoft Visual Studio, написанные на C, окружены extern "C" { ... }, когда вам когда-нибудь понадобится использовать это самостоятельно в своем коде? Если ваш код представляет собой код C, и вы пытаетесь скомпилировать его в компиляторе C++, разве он не должен работать без проблем, потому что все включенные вами стандартные файлы h уже будут содержать элемент extern "C" с компилятором C++?
Вам придется использовать это при компиляции на C++, но ссылаться на уже созданные библиотеки C или что-то в этом роде?

Подробнее здесь: https://stackoverflow.com/questions/279 ... e-extern-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»