sunnyrubik 发表于 2019-1-7 16:47:20

Dev C++的注释突然出问题了

本帖最后由 sunnyrubik 于 2019-1-7 23:01 编辑

//会报错。/**/就不会报错。突然就这样了,请问怎么调回去啊?


我好像找到原因了。
把这个改成NO就恢复正常了。
哪位大佬能解释下这是为什么啊?
另外重新下后一会儿可以调试一会儿不能调试又是为什么啊?已经把连接器那里的显示调试信息选成yes了啊。

542624047 发表于 2019-1-7 16:47:21

试图支持traditional C 预编译器特性
经过查找资料和自己的理解,我是这样认为的:传统的C预编译器在进行预处理的时候因为不能识别C++风格的注释所以才进行报错报错
PS:预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器。可见预处理过程先于编译器对源代码进行处理。在C语言中,并没有任何内在的机制来完成如下一些功能:在编译时包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码。要完成这些工作,就需要使用预处理程序。尽管在目前绝大多数编译器都包含了预处理程序,但通常认为它们是独立于编译器的。预处理过程读入源代码,检查包含预处理指令的语句和宏定义,并对源代码进行响应的转换。*预处理过程还会删除程序中的注释和多余的空白字符。*预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。(这个是预处理的基本内容,*号是我认为出现这个情况的原因)

以上是我目前能做出的解释,希望有人能给出个正确的解释,或者是对这个答案进行确认。谢谢{:5_110:}

542624047 发表于 2019-1-7 19:19:54

以前可以用么?我在我同学的电脑用Dev C++ 试了一下没问题   可能你遇到特殊情况了吧...
C语言注释只有用/**/一种格式    但是c++语言也可以理解为C语言的扩充所以c++的编译器 可以用//和/**/两种格式   

sunnyrubik 发表于 2019-1-7 21:54:39

542624047 发表于 2019-1-7 19:19
以前可以用么?我在我同学的电脑用Dev C++ 试了一下没问题   可能你遇到特殊情况了吧...
C语言注释只有 ...

以前都可以的,不知道突然怎么了

542624047 发表于 2019-1-9 23:02:14

本帖最后由 542624047 于 2019-1-9 23:20 编辑

sunnyrubik 发表于 2019-1-7 21:54
以前都可以的,不知道突然怎么了

现在还没好么?{:10_277:}

清泓隐月 发表于 2022-4-1 11:11:40

这是特殊情况吧,有时候可以用//注释,有时候又不可以
页: [1]
查看完整版本: Dev C++的注释突然出问题了