4

コードの一部の実行にかかる時間を計算する必要があります。現在、次のように clock_t を使用しています。

clock_t start = clock();

/* Do something here */

float executionTime = (clock()-(float)start) / CLOCKS_PER_SEC;

これはシミュレーターでは機能しますが、デバイスで実行すると、値は常に本来あるべき値よりも低くなります。シミュレーターとデバイスを同時に実行すると、シミュレーターが最初に終了しますが、デバイスが終了すると実行時間が短くなります。

シミュレータ コードとデバイス コードの唯一の違いは、いくつかの関数がデバイスの ARM アセンブリで記述されていることです。

これが関連する場合、Xcode 4.1 と iOS 4.3 を使用しています。

4

2 に答える 2

1

gettimeofday(2)どちらかまたはmach_absolute_time()代わりに使用してみましたか?

于 2011-08-15T23:04:06.110 に答える
0

コンピューターを再起動すると、デバイスの clock() が再び機能するようです。時間を割いて返信してくれた皆さん、ありがとうございます (:

于 2011-08-15T23:36:29.753 に答える