Код: Выделить всё
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
Мобильная версия