/Zc:externC
(Используйте стандартные правила C++ extern "C"
Параметр /Zc:externC
компилятора сообщает компилятору соответствовать стандарту C++ и применять согласованные объявления параметров для функций, объявленных как extern "C"
.
Синтаксис
/Zc:externC
/Zc:externC-
Замечания
Параметр /Zc:externC
компилятора проверка определения функций, объявленных с помощьюextern "C"
.
Этот /Zc:externC
параметр доступен начиная с Visual Studio 2019 версии 16.3. Он отключен, если /permissive-
параметр не задан. В более ранних версиях Visual Studio и по умолчанию или /Zc:externC-
при указании Visual Studio не соответствует объявлениям extern "C"
функций. Параметр /permissive-
включает /Zc:externC
, поэтому он включен по умолчанию в проектах, использующих /std:c++20
или /std:c++latest
. Этот /Zc:externC
параметр должен прийти после /permissive-
параметра в командной строке.
Несогласованные extern "C"
объявления могут привести к ошибкам компилятора C2116 и C2733. В коде C++ может возникнуть ошибка, если вы объявляете extern "C"
функцию более одного раза и используете разные типы параметров, даже если типы имеют одинаковые определения. Этот /Zc:externC-
параметр ослабляет этот проверка и не создает эти ошибки.
Установка параметра компилятора в Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.
Добавьте
/Zc:externC
или/Zc:externC-
в область "Дополнительные параметры".
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по