参数“-std=c99”写在代码哪里
时间: 2023-12-27 20:02:37 浏览: 36
参数“-std=c99”是用于指定编译器使用C99标准进行编译。它应该在编译命令中指定,而不是在代码中指定。在Linux或Mac等Unix系统中,可以将其添加到Makefile文件中的CFLAGS变量中,例如:
```
CFLAGS=-std=c99
```
在Windows系统中,可以在编译命令中添加该参数,例如:
```
gcc -std=c99 mycode.c -o myprogram
```
相关问题
如何在编译时加上参数“-std=c99”
您可以使用以下命令在编译时加上参数“-std=c99”:
```
gcc -std=c99 file.c -o output
```
其中,file.c为您要编译的C文件名,output为输出文件名。在这个命令中,-std=c99参数告诉编译器将代码编译为符合C99标准的代码。
[Error] 'for' loop initial declarations are only allowed in C99 or C11 mode
这个错误是因为在 C89/90 标准下,循环中的变量声明只能放在函数开头,而不能放在循环中。如果你想在循环中声明变量,你需要将编译器设置为 C99 或 C11 模式。
要解决这个问题,你可以在编译时使用 `-std=c99` 或 `-std=c11` 参数来设置编译器模式。例如,在 gcc 编译器中,你可以使用以下命令编译代码:
```
gcc -std=c99 your_file.c -o your_program
```
或者,你可以将变量声明移到循环外部,这也是一个更好的实践。例如,将以下代码:
```
for (int i = 0; i < 10; i++) {
int j = i * 2;
printf("%d\n", j);
}
```
改为:
```
int i, j;
for (i = 0; i < 10; i++) {
j = i * 2;
printf("%d\n", j);
}
```
这样就可以避免这个错误了。