我们的注释代码是否占用内存

本文关键字:内存 是否 代码 注释 我们 | 更新日期: 2023-09-27 18:12:54

我有一个关于我们注释代码的问题,找不到一个好的答案。

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

我们的注释代码是否占用内存

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

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

编辑:我已经看到c#和visual studio标签太迟了…

  • csc:从sscli源,注释被lexer直接跳过
  • visual studio(智能感知)它不会立即跳过它们:它需要处理着色,区域等注释。

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

不,如果你谈论的是像///**/这样的普通注释,它不会占用任何空间,因为它们不需要处理任何源代码。
编译后的程序中找不到任何注释。你有没有试过在

这样的评论中执行syntax-error ?
// object o = NEW object();

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

这里没有什么参考

编辑

但是,

有一个例外。如果希望将注释转换为xml文件,那么编译器有一个/doc选项。看到这里。

预处理器,即在实际编译之前,删除额外的空白和注释。所以你不需要担心代码的大小。同样,你也不用担心变量名太长因为它们会被赋予内部名称