/Zc:externC
(Usar las reglas Estándar de C++ extern "C"
)
La opción del compilador/Zc:externC
indica al compilador que se ajuste al estándar de C++ y aplique las declaraciones de parámetro coherentes para las funciones declaradas como extern "C"
.
Sintaxis
/Zc:externC
/Zc:externC-
Comentarios
La opción del compilador /Zc:externC
comprueba las definiciones de las funciones declaradas mediante extern "C"
.
La opción /Zc:externC
está disponible a partir de la versión 16.3 de Visual Studio 2019. Está desactivado cuando no se establece la opción /permissive-
. En versiones anteriores de Visual Studio, y de manera predeterminada o si se especifica /Zc:externC-
, Visual Studio es permisivo respecto a la coincidencia de las declaraciones de funciones extern "C"
. La opción /permissive-
habilita /Zc:externC
, por lo que está activada de forma predeterminada en los proyectos que usan /std:c++20
o /std:c++latest
. La opción /Zc:externC
debe aparecer después de una opción /permissive-
en la línea de comandos.
Las declaraciones no coincidentes extern "C"
pueden provocar los errores del compilador C2116 y C2733. En el código de C++, se puede producir un error si declara más de una función extern "C"
y usa diferentes tipos de parámetros, incluso si los tipos tienen las mismas definiciones. La opción /Zc:externC-
facilita esta comprobación y no produce estos errores.
Para establecer esta opción del compilador en Visual Studio
Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.
Seleccione la página de propiedades Propiedades de configuración>C/C++>Línea de comandos.
Agregue
/Zc:externC
o/Zc:externC-
al panel Opciones adicionales.