![](/img/trans.png)
[英]Why can't I use “long long int” with “int” in my C code?
[英]Why can't I use //-style comments in my C code?
我正在使用gcc
(Ubuntu 4.4.1-4ubuntu9)来编译我正在编写的程序,但是只要在我的代码中看到//注释,它似乎就会呕吐,说:
interface.c :##: error: expected expression before â/â token<
我使用的gcc
编译模式是否禁止//
注释?
$ gcc -g -ansi -pedantic interface.c structs.h -c -I. -I/home/me/project/h
为什么?
//
在旧的(低于99的)C版本中不允许注释,请使用/**/
(或删除-ansi
,这是C89标准的同义词)
请参阅GNU编译器文档中的C ++注释 。
在GNU C中,您可以使用C ++样式注释,该注释以
//
开头并一直持续到该行的末尾。 许多其他C实现也允许这样的注释,并且它们已包含在1999 C标准中 。 但是,如果指定-std
选项指定C99
之前的ISO C版本或-ansi
(相当于-std=c89
),则无法识别C ++样式注释。
(强调是我的,因为有些帖子声称//
标准C中不允许//
,而这仅适用于99年前的标准)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.