2013-03-01 83 views

回答

1

根据您的编译器,您可以使用开关来创建代码的汇编版本。汇编代码是操作码的直接助记符表示(“机器语言”)。

With gcc(考虑加-masm=intel如果你喜欢英特尔在默认AT & T语法):

gcc -S ... 

对unixoid系统我所知,其他的编译器还支持-S。这将跳过编译,您将需要查找以源文件命名的文件,但扩展名替换为.s

或者with MSVC

cl.exe /FA 

...您可以添加c(即/FAc),这也将编译。然后,您需要查找.asm文件。

另见:How can I see the assembly code for a C++ program?

此步骤完成后,你基本上比较(相关!)源代码行。然而,相关性取决于你自己的(或你的老师的)判断。有些工具可用于计算SLOC,例如在这篇维基百科文章中引用的那个:SLOCCount

注意:第一段关于直接表示的陈述略有不正确。如果我们正在谈论宏汇编器,那么由于宏,这并不成立。但即使MSVC使用宏汇编程序作为后端,编译器也没有充分利用宏功能,因此它们不应该在SLOC计数中干涉(太多)。