2013-03-07 95 views
1

我正在使用VMware(Ubuntu)上的一個大型C++項目。它有幾個進程和很多cpp文件。如何計算運行C++程序的實際操作次數?

我想知道的是:在運行我的代碼時,在每個cpp文件中正在執行多少操作(添加,乘法,讀取,寫入,移位等等)。

我已經搜索了很多這個,我知道我應該尋找一個分析器,它給了我正在運行的代碼中的指令數量,但我還沒有找到任何分析器。

我是編程初學者,所以我會很感激任何幫助。

+0

由於它是一個大型程序,與庫和系統例程(比如'new','delete')相比,您可能會發現在源代碼中執行的指令數量非常小,和I/O。 – 2013-03-07 12:53:06

回答

2

Valgrind可能是你要找的。只需從軟件包管理器安裝它,然後在命令行的開頭添加valgrind --tool=cachegrind即可運行該程序。

+0

我試過了,但如果我理解正確,它會給出整個程序的指令總數。 如果我想獲得每個函數的不同操作(添加,等分等),有沒有辦法用valgrind做到這一點? – Adon 2013-03-11 08:15:56

0

雖然valgrind是一個非常棒的Linux工具,但在Windows上,您最好使用Visual Studio中內置的分析器;請注意,您需要完整版本而不是免費的Express。