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計數中干涉(太多)。