Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Možnost /Zc:__STDC__ kompilátoru definuje předdefinované __STDC__ makro preprocesoru jako 1 v kódu jazyka C.
Syntaxe
/Zc:__STDC__
Poznámky
Možnost /Zc:__STDC__ kompilátoru implementuje standardní chování jazyka C odpovídající makru preprocesoru __STDC__ a při kompilaci kódu C11 a C17 ho nastaví na 1.
Tato /Zc:__STDC__ možnost je nová v sadě Visual Studio 2022 verze 17.2. Tato možnost je ve výchozím nastavení vypnutá, ale je možné ji explicitně povolit, pokud /std:c11 je zadána./std:c17 Neexistuje žádná záporná verze možnosti.
Tato možnost je zásadní změnou zdroje. Vzhledem k chování UCRT, který nezpřístupňuje funkce POSIX, pokud __STDC__ je 1, není možné definovat toto makro pro jazyk C ve výchozím nastavení bez zavedení zásadních změn ve stabilních jazykových verzích.
Příklad
// 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__
*/
Nastavení této možnosti kompilátoru v sadě Visual Studio
Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.
Vyberte stránku vlastností příkazového řádku C/C++>Vlastnosti>konfigurace.
V dalších možnostech přidejte
/Zc:__STDC__. Změny uložíte kliknutím na OK nebo Použít .