我想讓g ++向我展示什麼是執行時間,也許是回報。如何讓g ++在終端中顯示執行時間?
g++ file.cpp -o file
./file
當我使可執行文件,然後調用它只顯示沒有返回和執行時間的輸出。
,我要讓它顯示是這樣的:
Process returned 0 (0x0) execution time : 0.002 s
感謝您的關注!
我想讓g ++向我展示什麼是執行時間,也許是回報。如何讓g ++在終端中顯示執行時間?
g++ file.cpp -o file
./file
當我使可執行文件,然後調用它只顯示沒有返回和執行時間的輸出。
,我要讓它顯示是這樣的:
Process returned 0 (0x0) execution time : 0.002 s
感謝您的關注!
您可以使用「time」命令來測量您的過程需要多長時間。
要確定返回值,您可以打印$?的值。運行程序後,環境變量:
time ./file ; echo Process returned $?
您還可以指定如何準確時間應與-f(或--format)選項設置其結果。 然而,一些Linux發行版可能會使用默認一個bash,內置的時間實現其缺乏一個選項,所以你可能不得不放棄使用真正時間程序的完整路徑:
/usr/bin/time -f "Execution time: %E" ./file
可以使用time命令如下:此處
time ./file
先看看:calculating execution time in c++
您還可以在代碼中使用的時鐘(從time.h
)(雖然多線程代碼它的工作原理有點有趣)
int a;
unsigned t0 = clock(), t1;
std::cin >> a;
t1 = clock() - t0;
仔細time(7)閱讀。您可以在外部使用time(1)(從您的shell中,例如answeredhere)。你也可以使用你的程序系統調用,如clock_gettime(1)等...
不要指望時間對於小的延遲(例如不到半秒)是真正有意義或準確的。
順便說一句,你的問題與GCC 編譯器(即g++
)沒有太大關係。如果使用的是最新GCC 4.8與-std=c++11
你可以使用std::chrono等等等等......而且,即使使用這些它不是正計時程序的編譯器(但使用syscalls一些庫函數)
而是說'時間。/ file'並根據您的需求解析輸出。 – devnull
shell捕獲'$?'變量中的退出狀態,所以'echo $?'顯示最近執行的命令的退出狀態。但我不知道如何在Windows命令提示符下執行此操作。 – Brian