關鍵是要以毫秒或納秒的形式在C++中獲取時間。但是我只知道的方式來獲得時間(秒)這樣的:如何以毫秒或納秒爲單位在C++中獲取時間
#include <ctime>
...
time = ctime(0) ;
...
我想知道怎麼做類似的操作,以獲得在毫秒或納秒的時間。我應該包含哪些標題,要調用哪些函數以及它們的參數是什麼?
關鍵是要以毫秒或納秒的形式在C++中獲取時間。但是我只知道的方式來獲得時間(秒)這樣的:如何以毫秒或納秒爲單位在C++中獲取時間
#include <ctime>
...
time = ctime(0) ;
...
我想知道怎麼做類似的操作,以獲得在毫秒或納秒的時間。我應該包含哪些標題,要調用哪些函數以及它們的參數是什麼?
如果你確定某個平臺的具體實現(windows)請看QueryPerformanceCounter API。
和this answer有一個快速使用的例子。
「查看QueryPerformanceCounter」 - 即使在選擇使用有前途的RTC寄存器時,也存在着瘋狂......許多問題包括通常無法將一個CPU內核上採用的時鐘計數器採樣與另一個採用另一個節能模式下的可變時鐘速度,周圍環境問題等)。但是,至少它有時可以用於桌面計算一個線程綁定到一個特定的核心... –
這個答案看起來對我來說是最有用的,並使得相當準確的時間 – user1978386
瘋狂!瘋狂我說! bwhahaha ...任何高分辨率定時器都會受到它所運行系統的怪癖的影響。同樣適用於提升(請參閱他們的doco和prolly std lib中的警告,儘管我從未使用過)。可能不會用它來校準起搏器,但QPC在「日常」使用中對我很好。 – dkackman
你可以使用C++ 11嗎? –
http://en.cppreference.com/w/cpp/chrono –
std :: chrono或boost :: chrono – nogard