我在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
编译器作为捆绑下载提供代码:: blocks。我更正了"toolchain executables"
,编译器工作正常,直到现在。
这不是我第一次遇到这个问题。我记得以前在另一台计算机上使用它并通过重新输入整个源文件来解决它(我不想每次都这样做)。
引发错误的方式只是评论和取消注释代码一段时间(我尝试了一些事情并评论了以前的测试)。而且,出乎意料的是,出现了这个错误。
抱歉,如果我的语法不好。英语不是我的母语。
我感谢任何给予的帮助! 提前致谢, 尼尔斯
答案 0 :(得分:4)
删除编译器选项-ansi
。
ANSI C不理解//
。
3.4控制C语言的选项
[...]
<强> -ansi 强>
在C模式下,这相当于-std = c90。在C ++模式下,它相当于-std = c ++ 98。
[...]对于C编译器,它禁止识别C ++样式'//'注释[...]
答案 1 :(得分:3)
在代码块中执行此操作
确保未选中突出显示的选项。(这与上面的ans。删除-ansi。选项相同。)
Settings->compiler
答案 2 :(得分:0)
编译c使用
/* C-style comments!
*/