ホームページ >バックエンド開発 >C++ >サードパーティのライブラリを使用せずに Linux でミリ秒の時間を取得するにはどうすればよいでしょうか?

サードパーティのライブラリを使用せずに Linux でミリ秒の時間を取得するにはどうすればよいでしょうか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-21 06:20:10318ブラウズ

How Can You Get Milliseconds Time on Linux Without Third-Party Libraries?

サードパーティ ライブラリを使用しない Linux でのミリ秒時刻の取得

Windows とは対照的に、クロック() 関数はミリ秒時刻を提供します。 Linux では、最も近い 1000 に丸められます。これにより、精度が 2 番目のレベルに制限され、キャプチャには使用できなくなります。

Qt は QTime クラスを使用してソリューションを提供しますが、より一般的なアプローチが求められています。標準 C ライブラリを活用することで、Linux 上で信頼性の高い方法でミリ秒の時間を取得できます。

次のコード スニペットは、gettimeofday() 関数を使用してこれを実現する方法を示しています。

#include <sys/time.h>
#include <stdio.h>
#include <unistd.h>

int main()
{
    struct timeval start, end;

    long mtime, seconds, useconds;    

    gettimeofday(&start, NULL);
    usleep(2000);
    gettimeofday(&end, NULL);

    seconds  = end.tv_sec  - start.tv_sec;
    useconds = end.tv_usec - start.tv_usec;

    mtime = ((seconds) * 1000 + useconds/1000.0) + 0.5;

    printf("Elapsed time: %ld milliseconds\n", mtime);

    return 0;
}

gettimeofday() 関数を利用することで、コードは指定された遅延 (この例では 2 ミリ秒) の前後の現在時刻を取得します。次に、秒とマイクロ秒の差が計算され、ミリ秒に変換されます。このアプローチは、サードパーティのライブラリに依存せずに、Linux 上でミリ秒時間を取得するための正確で標準に準拠した方法を提供します。

以上がサードパーティのライブラリを使用せずに Linux でミリ秒の時間を取得するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。