Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La /Zc:__STDC__ opción del compilador define la macro de preprocesador integrada __STDC__ como 1 en código C.
Sintaxis
/Zc:__STDC__
Comentarios
La /Zc:__STDC__ opción del compilador implementa el comportamiento de conformidad de C estándar para la macro del __STDC__ preprocesador, estableciendolo en 1 al compilar código C11 y C17.
La /Zc:__STDC__ opción es nueva en Visual Studio 2022, versión 17.2. Esta opción está desactivada de forma predeterminada, pero se puede habilitar explícitamente cuando /std:c11 se especifica o /std:c17 . No hay ninguna versión negativa de la opción.
Esta opción es un cambio importante de origen. Debido al comportamiento de UCRT, que no expone funciones POSIX cuando __STDC__ es 1, no es posible definir esta macro para C de forma predeterminada sin introducir cambios importantes en las versiones de lenguaje estable.
Ejemplo
// test__STDC__.c
#include <io.h>
#include <fcntl.h>
#include <stdio.h>
int main() {
#if __STDC__
int f = _open("file.txt", _O_RDONLY);
_close(f);
#else
int f = open("file.txt", O_RDONLY);
close(f);
#endif
}
/* Command line behavior
C:\Temp>cl /EHsc /W4 /Zc:__STDC__ test__STDC__.c && test__STDC__
*/
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.
En Opciones adicionales, agregue
/Zc:__STDC__. Haga clic en Aceptar o en Aplicar para guardar los cambios.
Consulte también
/Zc (Conformidad)
/std (Especificar la versión estándar del lenguaje)