2012-06-18 16 views
10

私は検索しましたが、matlab tic/toc関数と同等のものを見つけることができず、単に処理に時間がかかりました。 (理想的に私はプログラム内のどこにもチック(タイマーを開始)し、TOC(終了タイマ)を入れたいと思います。C++のmatlab tic tocと同等

任意の提案ですか?

+1

これは、コンパイルとは何の関係もありません。 – Dennis

答えて

17

私が探していたものが見つかりました。 を含める:次に

#include <ctime> 

冒頭:

終了前
time_t tstart, tend; 
tstart = time(0); 

そして最後に:

tend = time(0); 
cout << "It took "<< difftime(tend, tstart) <<" second(s)."<< endl; 
+0

time()の精度は、MATLABのticとtocがミリ秒以上を提供している間は秒です。 – NoahR

+1

@NoahR 'difftime()'は 'double'を返します。これは1秒より良い精度をもたらします。実際の精度はシステムに依存しますが、これはおそらくMATLABにもあるからです。 – glglgl

+0

Cでは '#include 'を使用します。しかし、少なくともWindowsでは、戻り値の型がdoubleであっても、私にはまだフル秒が返ってくることに注意してください。ミリ秒の部分はゼロです。 –

3

あなたは、Linux上にある場合は、

clock_gettime(); 
機能を使用することができます

Windows上であなたは、特定の実装の詳細については、これらのグーグルことができます。私が知らない他のオペレーティングシステムを

QueryPerformanceCounter() 

をしようとした場合。達成するために、確かに他の多くの方法があります。同じことですが、あなたが他の反応を得られなければ、これらは始めるのに妥当な場所です。