4

我在 Windows 7 上使用“code::blocks”时遇到编译问题。我的 C 代码是:

//whatever
 int main(void){return 0;}
//this is blank line

MinGW 命令行是:

gcc.exe -Wall -g -ansi -c C:...\Test\main.c -o obj\Debug\main.o

如果我尝试编译它,我会收到错误消息:

C:\...\Test\main.c|1|error: expected identifier or '(' before '/' token

(我想在这里发图片,但没有足够的声誉......)

我的源文件中只有 3 行代码。(最后一个只包含\0,但我不知道如何添加空行)。我code::blocks用作IDE。我曾经notepad++搜索不可打印的字符,但没有有意义的结果。我使用MinGW与 code::blocks 捆绑下载的编译器。我更正了"toolchain executables",直到现在编译器工作正常。

这不是我第一次遇到这个问题。我记得之前在另一台计算机上使用过它,并通过重新输入整个源文件来解决它(我不想每次都这样做)。

引发错误的方式只是在一段时间内注释和取消注释代码(我尝试了一些东西并注释掉了之前的测试)。而且,出乎意料的是,这个错误出现了。

对不起,如果我的语法不好。英语不是我的母语。

我感谢任何给定的帮助!提前致谢, 尼尔斯

4

3 回答 3

4

删除编译器选项-ansi

ANSI C 不明白//

gcc 文档

3.4 控制C方言的选项

[...]

-ansi

在 C 模式下,这相当于 -std=c90。在 C++ 模式下,相当于 -std=c++98。

[...] 对于 C 编译器,它禁止识别 C++ 样式 '//' 注释 [...]

于 2013-10-26T10:55:29.597 回答
3

在代码块中这样做

确保未选中突出显示的选项。(这与上面的 ans. 删除 -ansi. 选项相同。)

Settings->compiler

设置->编译器

于 2013-10-26T11:01:42.370 回答
0

用于编译 c 使用

/* C-style comments!
 */
于 2013-10-26T10:47:00.677 回答