【发布时间】:2015-05-11 02:57:50
【问题描述】:
当一个用 C++ 编写的程序有 cmets 时,这些 cmets 是否被翻译成机器语言,或者他们永远不会做到这一点?如果我编写的 C++ 程序在两个命令之间包含整本书的 cmets,我的程序会花费更长的时间来编译或运行更慢吗?
【问题讨论】:
-
标准 C++ 中没有任何内容要求将 cmets 转换为机器代码或以任何方式存储在二进制文件中,而是简单地忽略它们。
-
您是否希望您的 cmets 以任何方式影响您的程序的执行?
-
但是汇编代码可能包含大量的 cmets。它们可能是相互列出的源代码(其中可能包含接近源代码行的 cmets)、编译器生成的信息,如指令时序、寄存器使用、代码大小……所以,有点,是的,就好像你说汇编是机器语言。
-
可执行文件中不存在汇编语言的注释。
-
Visual C+ 有
#pragma comment,这表明 Visual C++ 应该在生成的目标文件中留下注释。因此,如果您真的想在其中发表评论...
标签: c++ performance compilation comments compiler-optimization