美文网首页
C++ 保存时间到微秒0.1us

C++ 保存时间到微秒0.1us

作者: Kerwin_H | 来源:发表于2020-11-19 10:35 被阅读0次

    #ifdef _WIN32

    #include <windows.h>

    #else

    #include <time.h>

    #endif  // _WIND32

    int64_t GetSysTimeMicros()

    {

    #ifdef _WIN32

    // 从1601年1月1日0:0:0:000到1970年1月1日0:0:0:000的时间(单位100ns)

    #define EPOCHFILETIME  (116444736000000000UL)

    FILETIME ft;

    LARGE_INTEGER li;

    int64_t tt = 0;

    GetSystemTimeAsFileTime(&ft);

    li.LowPart = ft.dwLowDateTime;

    li.HighPart = ft.dwHighDateTime;

    // 从1970年1月1日0:0:0:000到现在的微秒数(UTC时间)

    tt = (li.QuadPart - EPOCHFILETIME);// / 10;

    return tt;

    #else

    timeval tv;

    gettimeofday(&tv, 0);

    return (int64_t)tv.tv_sec * 1000000 + (int64_t)tv.tv_usec;

    #endif // _WIN32

    return 0;

    }

    int main() {

    while (true) {

    printf("time %lld us\n", GetSysTimeMicros());

    }

    return 1;

    }

    相关文章

      网友评论

          本文标题:C++ 保存时间到微秒0.1us

          本文链接:https://www.haomeiwen.com/subject/srukiktx.html