【发布时间】:2010-12-22 17:45:48
【问题描述】:
在具有// Comment here 的行上使用-ansi -pedantic 编译时出现错误。为什么会这样?
“/”标记之前的预期表达式
程序中出现'\347'
示例代码int someVariable = 0; // Some comment
我有很多很多这些错误,是什么?
【问题讨论】:
在具有// Comment here 的行上使用-ansi -pedantic 编译时出现错误。为什么会这样?
“/”标记之前的预期表达式
程序中出现'\347'
示例代码int someVariable = 0; // Some comment
我有很多很多这些错误,是什么?
【问题讨论】:
C89 不支持 C++ 风格的 cmets。
【讨论】:
因为 gcc 开发人员误解了 ANSI C 的含义,或者使选项与“兼容性”的旧标准保持一致。 ANSI C是ISO C是C99,它允许// cmets,但是当很多人说ANSI C时,他们的意思是“ANSI对C语言的第一个标准化”,即C89。 gcc -ansi 选项等价于-std=c89。
如果您想强制遵守现代标准,您应该使用-std=c99 而不是-ansi。
【讨论】: