Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A /Zc:__STDC__ opção do compilador define a macro de pré-processador interna __STDC__ como 1 no código C.
Sintaxe
/Zc:__STDC__
Comentários
A /Zc:__STDC__ opção do compilador implementa o comportamento em conformidade com o padrão C para a macro do __STDC__ pré-processador, definindo-o como 1 ao compilar o código C11 e C17.
A /Zc:__STDC__ opção é nova no Visual Studio 2022 versão 17.2. Essa opção está desativada por padrão, mas pode ser ativada explicitamente quando /std:c11 ou /std:c17 é especificada. Não há uma versão negativa da opção.
Essa opção é uma alteração significativa na origem. Devido ao comportamento do UCRT, que não expõe as funções POSIX quando __STDC__ é 1, não é possível definir essa macro para o C por padrão sem introduzir alterações interruptivas nas versões estáveis da linguagem.
Exemplo
// 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 definir essa opção do compilador no Visual Studio
Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.
Selecione a página de propriedades Propriedades de Configuração>C/C++>Linha de Comando.
Em Opções adicionais, adicione
/Zc:__STDC__. Escolha OK ou Aplicar para salvar as alterações.
Confira também
/Zc (Conformidade)
/std (Especificar a versão padrão da linguagem)