c - 有没有办法在 gcc 中启用 for(int i=0; ... 而不必打开 c99 模式

标签 c gcc for-loop c99 pragma

我有一个非常大的程序,可以在没有警告的情况下使用 gcc 进行编译。

如果我在命令行上打开 c99 模式 --std=c99,它会给出大量警告和错误。

但我喜欢这个成语for(int i=0; i<20; i++){ code }

代替{int i; for (i=0; i<20; i++){ code }}

有没有办法告诉 gcc 允许这个并且只允许这个?

或者,有什么方法可以在我正在处理的特定函数中启用 c99 模式吗?有点像

#pragma c99 on 

for(int i=0; i<99; i++)
{
    code
}

#pragma c99 off

最佳答案

警告和错误很可能是因为 -std=c99 请求符合标准的 C99,这意味着未定义许多污染 C99 命名空间的特定于平台的函数。

相反,您应该尝试 --std=gnu99,它是 C99 等效于 gnu89 的默认模式。

关于c - 有没有办法在 gcc 中启用 for(int i=0; ... 而不必打开 c99 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9175136/

相关文章:

c - GCC 以相反的顺序编译 EEPROM 地址

python - 如何对值列表进行 api 请求调用?

c++ - 动态链接其他库时如何静态链接libgomp?

linux - 交叉编译 glibc 导致构建错误

Delphi "for ... to"语句从结束值运行到开始值

c - 在 for 循环中使用 getch() 的重要性

c - 结构有什么问题?

java - xSocket 替代 C 库

c - MSFT 构建、cl 和具有跨库依赖关系的链接

c - 如何在 Linux 中使用 c-api 查找 VRF 设备的路由表 ID