gpt4 book ai didi

c - `clang -ansi` 扩展名

转载 作者:太空狗 更新时间:2023-10-29 15:04:28 25 4
gpt4 key购买 nike

我最近遇到了一个问题,下面的玩具示例使用 clang -ansi 进行了干净的编译:

int main(void)
{
for (int i = 0; 0; );
return i;
}

但是 gcc -ansi 给出了以下错误:

a.c: In function ‘main’:
a.c:3:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
a.c:3:5: note: use option -std=c99 or -std=gnu99 to compile your code

使用 clang -ansi -pedantic 编译表明正在使用 C99 扩展。

a.c:3:10: warning: variable declaration in for loop is a C99-specific feature [-pedantic,-Wc99-extensions]
for (int i = 0; 0; );
^
1 warning generated.

clang 还允许使用 -ansi 选项进行哪些其他扩展?我怎样才能禁用它们?

最佳答案

如果您尝试在 -ansi 模式下禁用扩展,那么您希望将这些警告视为错误:使用 -pedantic-errors 而不是 -pedantic ,或 -Werror(或两者)。如需更精细地控制错误,请参阅 Clang manual .

关于c - `clang -ansi` 扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13637271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com