0

我对注释掉的代码有疑问,但找不到好的答案。

编译器会读出注释代码,还是立即跳过该代码?

4

4 回答 4

2

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

于 2013-05-10T08:26:39.863 回答
2

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

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

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

  • csc:来自 sscli 源的 IIRC,词法分析器直接跳过注释
  • visual studio (intellisense) 它不会立即跳过它们:它需要处理颜色、区域等的注释。
于 2013-05-10T08:28:05.813 回答
0

//不,如果您谈论的是像and之类的普通注释,它不会占用任何空间/**/,仅仅是因为它们没有任何要处理的源代码。
您不会在已编译的程序中找到任何注释。你有没有试过syntax-error在评论中执行

// object o = NEW object();

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

这里很少参考

编辑

不过有一个例外。如果要将注释转换为 XML 文件/doc,编译器有一个 -Option。见这里

于 2013-05-10T08:37:09.223 回答
0

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

于 2013-05-13T08:32:08.793 回答