注释代码是否消耗内存

时间:2013-05-10 08:24:49

标签: c# visual-studio comments

我对评论代码有疑问,但找不到合适的答案。

编译器是否读出注释代码,或者是否立即跳过该代码?

4 个答案:

答案 0 :(得分:2)

编译器(与大多数编译器一样)会立即跳转到第一个未注释的代码行。 一个值得注意的例外是xml comments,如果编译器运行某些设置,则用于文档。

答案 1 :(得分:2)

这取决于语言..例如,在C ++中,注释由预处理器处理和丢弃,编译器甚至不会看到它们。

通常,注释不会在目标可执行文件中“消耗内存”。 Lexers可能会也可能不会立即丢弃它们,因此它们甚至不会进入编译器的解析阶段,但它们不会进入编译的后期阶段。

编辑:我看到C#和visual-studio标签太晚了......

  • csc:来自sscli源码的IIRC,lexer直接跳过评论
  • visual studio(intellisense)它不会立即跳过它们:它需要处理着色,区域等的注释。

答案 2 :(得分:0)

不,如果您正在谈论///**/这样的普通评论,它不会消耗任何空间,只是因为它们没有任何要处理的源代码。
您不会在已编译的程序中找到任何注释。您是否曾尝试在

等评论中执行syntax-error
// object o = NEW object();

如果编译器关心这个,它会报告错误,但它不会!

这里很少reference

编辑

但有一个例外。如果要将注释转换为XML文件,则编译器有/doc - 选项。请参阅here

答案 3 :(得分:0)

预处理器,即在实际编译之前,删除额外的空白和注释。所以你真的不必担心代码的大小。 此外,您不必担心变量的长名称,因为它们将被赋予内部名称。