Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die /Zc:__STDC__ Compileroption definiert das integrierte Präprozessormakro als 1 in C-Code __STDC__ .
Syntax
/Zc:__STDC__
Hinweise
Die /Zc:__STDC__ Compileroption implementiert standard C-konformes Verhalten für das __STDC__ Präprozessormakro und legt es beim Kompilieren von C11- und C17-Code auf 1 fest.
Die /Zc:__STDC__ Option ist neu in Visual Studio 2022, Version 17.2. Diese Option ist standardmäßig deaktiviert, kann aber explizit aktiviert werden, wenn /std:c11 oder /std:c17 angegeben wird. Es gibt keine negative Version der Option.
Diese Option ist eine Quelländerung. Aufgrund des Verhaltens der UCRT, die POSIX-Funktionen nicht verfügbar macht, wenn __STDC__1 ist, ist es nicht möglich, dieses Makro für C standardmäßig zu definieren, ohne Änderungen an den stabilen Sprachversionen einzuführen.
Beispiel
// 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__
*/
So legen Sie diese Compileroption in Visual Studio fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).
Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.
Fügen Sie in
/Zc:__STDC__zusätzlichen Optionen hinzu. Wählen Sie OK oder Übernehmen, um die Änderungen zu speichern.
Weitere Informationen
/Zc (Konformität)
/std (Standardversion für die Sprache festlegen)