我们的注释代码是否占用内存
本文关键字:内存 是否 代码 注释 我们 | 更新日期: 2023-09-27 18:12:54
我有一个关于我们注释代码的问题,找不到一个好的答案。
编译器读出带注释的代码,还是立即跳过该代码?
这取决于语言。例如,在c++中,注释由预处理器处理和丢弃,编译器甚至不会看到它们。
一般来说,注释不会在目标可执行文件中"消耗内存"。词法分析器可能会也可能不会立即丢弃它们,因此它们甚至不会进入编译器的解析阶段,但是它们不会进入编译的后期阶段。
编辑:我已经看到c#和visual studio标签太迟了…
- csc:从sscli源,注释被lexer直接跳过
- visual studio(智能感知)它不会立即跳过它们:它需要处理着色,区域等注释。
编译器(像大多数编译器一样)立即跳到第一行没有注释的代码。一个值得注意的例外是xml注释,如果编译器在某些设置下运行,则用于文档。
不,如果你谈论的是像//
和/**/
这样的普通注释,它不会占用任何空间,因为它们不需要处理任何源代码。
编译后的程序中找不到任何注释。你有没有试过在
syntax-error
?// object o = NEW object();
如果编译器关心这个,它会报告一个错误,但它不会!
这里没有什么参考
编辑
但是,有一个例外。如果希望将注释转换为xml文件,那么编译器有一个/doc
选项。看到这里。
预处理器,即在实际编译之前,删除额外的空白和注释。所以你不需要担心代码的大小。同样,你也不用担心变量名太长因为它们会被赋予内部名称