Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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)