我有一个非常大的程序,可以在没有警告的情况下使用 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/