C++でLARGE_INTEGER構造の問題を解決するにはどうすればよいでしょうか?

C++のLARGE_INTEGER構造体は、64ビットの符号付き整数を表す構造体であり、Windows.hヘッダファイルで定義されています。LARGE_INTEGER構造体を使用するには、Windows.hヘッダファイルをインクルードし、Kernel32.libライブラリにリンクする必要があります。

以下にLARGE_INTEGER構造体の使用方法のサンプルコードを示します。

#include <Windows.h>
#include <iostream>

int main()
{
    LARGE_INTEGER li;
    
    // 获取当前系统中的时间戳
    QueryPerformanceCounter(&li);
    std::cout << "Current timestamp: " << li.QuadPart << std::endl;
    
    // 延时1秒钟
    LARGE_INTEGER frequency;
    QueryPerformanceFrequency(&frequency);
    LARGE_INTEGER start, end;
    QueryPerformanceCounter(&start);
    do {
        QueryPerformanceCounter(&end);
    } while ((end.QuadPart - start.QuadPart) / frequency.QuadPart < 1);
    
    // 输出延时后的时间戳
    QueryPerformanceCounter(&li);
    std::cout << "Delayed timestamp: " << li.QuadPart << std::endl;
    
    return 0;
}

上記のサンプルコードでは、最初にQueryPerformanceCounter関数を使用して現在のシステムのタイムスタンプを取得し、コンソールに出力します。次に、QueryPerformanceFrequency関数を使いシステムクロックの周波数を取得し、待ち時間に利用します。最後に、QueryPerformanceCounter関数を使い待ち時間後のタイムスタンプを取得し、コンソールに出力します。

LARGE_INTEGER構造体のメンバQuadPartには、64ビット符号付き整数が入っていることに注意。他のメンバを使用して、必要に応じて構造体の値を操作できます。

bannerAds