最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實(shí)現(xiàn)獲取系統(tǒng)時(shí)間的方法小結(jié)

 更新時(shí)間:2024年03月21日 09:17:26   作者:chen_znn  
這篇文章主要為大家詳細(xì)介紹了使用C++實(shí)現(xiàn)獲取系統(tǒng)時(shí)間的一些常用方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以了解下

Linux

方法一

使用time.h中的gettimeofday(),示例代碼如下,

#include <iostream>
#include <sys/time.h>
 
int main() {
    struct timeval start, end;
    double totalTime;
 
    gettimeofday(&start, NULL);
 
    // 在這里執(zhí)行代碼
    ...
 
    gettimeofday(&end, NULL);
 
    totalTime = (end.tv_sec - start.tv_sec) + (end.tv_usec - start.tv_usec) / 1000000.0;
 
    std::cout << "Total time: " << totalTime << " seconds" << std::endl;
 
    return 0;
}

使用gettimeofday()函數(shù)獲取的時(shí)間是以微秒為單位的。因此,需要將微秒轉(zhuǎn)換為秒,即除以 1e6,以獲得以秒為單位的時(shí)間間隔。 

方法二

使用time.h中的clock_gettime(),示例代碼如下,

#include <iostream>
#include <time.h>
 
int main() {
    struct timespec start, end;
    double totalTime;
 
    clock_gettime(CLOCK_MONOTONIC, &start);
 
    // 在這里執(zhí)行代碼
    ...
 
    clock_gettime(CLOCK_MONOTONIC, &end);
 
    totalTime = (end.tv_sec - start.tv_sec) + (end.tv_nsec - start.tv_nsec) / 1e9;
 
    std::cout << "Total time: " << totalTime << " seconds" << std::endl;
 
    return 0;
}

使用clock_gettime()函數(shù)獲取的時(shí)間是以納秒為單位的。因此,需要將納秒轉(zhuǎn)換為秒,即除以 1e9,以獲得以秒為單位的時(shí)間間隔。 

Windows

方法一

在Windows平臺(tái)上,可以使用Windows API中的GetSystemTime()、GetSystemTimeAsFileTime()或QueryPerformanceCounter()等函數(shù)來獲取系統(tǒng)時(shí)間。下面是一個(gè)簡單的示例代碼,

#include <iostream>
#include <windows.h>
 
int main() {
    LARGE_INTEGER frequency, start, end;
    double totalTime;
 
    QueryPerformanceFrequency(&frequency);
 
    QueryPerformanceCounter(&start);
 
    // 在這里執(zhí)行代碼
    ...
 
    QueryPerformanceCounter(&end);
 
    totalTime = static_cast<double>(end.QuadPart - start.QuadPart) / frequency.QuadPart;
 
    std::cout << "Total time: " << totalTime << " seconds" << std::endl;
 
    return 0;
}

方法二

C++11引入了<chrono>頭文件,提供了高精度的時(shí)間測量功能??梢允褂胹td::chrono::high_resolution_clock來獲取高分辨率時(shí)鐘,并通過std::chrono::time_point計(jì)算時(shí)間間隔。以下是一個(gè)示例代碼,

#include <iostream>
#include <chrono>
 
int main() {
    auto start = std::chrono::high_resolution_clock::now();
 
    // 在這里執(zhí)行代碼
    ...
 
    auto end = std::chrono::high_resolution_clock::now();
 
    std::chrono::duration<double> totalTime = end - start;
 
    std::cout << "Total time: " << totalTime.count() << " seconds" << std::endl;
 
    return 0;
}

方法三

C++標(biāo)準(zhǔn)庫中的<ctime>頭文件提供了clock()函數(shù),可用于測量CPU時(shí)間。這個(gè)函數(shù)返回自程序啟動(dòng)以來的時(shí)鐘周期數(shù)。以下是一個(gè)簡單示例,

#include <iostream>
#include <ctime>
 
int main() {
    clock_t start = clock();
 
    // 在這里執(zhí)行代碼
    ...
 
    clock_t end = clock();
 
    double totalTime = static_cast<double>(end - start) / CLOCKS_PER_SEC;
 
    std::cout << "Total time: " << totalTime << " seconds" << std::endl;
 
    return 0;
}

到此這篇關(guān)于C++實(shí)現(xiàn)獲取系統(tǒng)時(shí)間的方法小結(jié)的文章就介紹到這了,更多相關(guān)C++獲取系統(tǒng)時(shí)間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • tinyxml 常用的C++ XML解析器非常優(yōu)秀

    tinyxml 常用的C++ XML解析器非常優(yōu)秀

    讀取和設(shè)置xml配置文件是最常用的操作,試用了幾個(gè)C++的XML解析器,個(gè)人感覺TinyXML是使用起來最舒服的,因?yàn)樗腁PI接口和Java的十分類似,面向?qū)ο笮院芎?/div> 2012-11-11
  • Vs2019+Qt+Opencv環(huán)境配置心得(圖文)

    Vs2019+Qt+Opencv環(huán)境配置心得(圖文)

    這篇文章主要介紹了Vs2019+Qt+Opencv環(huán)境配置心得(圖文),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 詳解C/C++中的select、poll和epoll

    詳解C/C++中的select、poll和epoll

    本文通過示例介紹了C/C++中的select、poll和epoll知識(shí),結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-06-06
  • C語言線索二叉樹基礎(chǔ)解讀

    C語言線索二叉樹基礎(chǔ)解讀

    線索二叉樹還是按照鏈二叉樹的方法創(chuàng)建,只不過在結(jié)點(diǎn)原本為空的左指針改為指向該結(jié)點(diǎn)在中序遍歷中的前驅(qū),結(jié)點(diǎn)原本為空的右指針改為指向該結(jié)點(diǎn)在中序遍歷中的后繼,也就是說把空的指針給利用了起來
    2022-04-04
  • 淺談C語言關(guān)于換行符的注意事項(xiàng)

    淺談C語言關(guān)于換行符的注意事項(xiàng)

    本文主要介紹了C語言關(guān)于換行符的注意事項(xiàng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-12-12
  • C++ Boost多線程和并發(fā)教程分享

    C++ Boost多線程和并發(fā)教程分享

    這篇文章主要介紹了C++ Boost多線程和并發(fā)教程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2026-05-05
  • C語言實(shí)現(xiàn)俄羅斯方塊小游戲

    C語言實(shí)現(xiàn)俄羅斯方塊小游戲

    這篇文章主要為大家詳細(xì)介紹了Linux下C語言實(shí)現(xiàn)俄羅斯方塊小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • C語言 sockaddr和sockaddr_in案例詳解

    C語言 sockaddr和sockaddr_in案例詳解

    這篇文章主要介紹了C語言 sockaddr和sockaddr_in案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C語言中程序環(huán)境和預(yù)處理的詳細(xì)圖文講解

    C語言中程序環(huán)境和預(yù)處理的詳細(xì)圖文講解

    這篇文章主要給大家介紹了關(guān)于C語言中程序環(huán)境和預(yù)處理的相關(guān)資料,我們寫的C語言代碼,從運(yùn)行,到在屏幕上生成結(jié)果,經(jīng)歷了比較復(fù)雜的過程,需要的朋友可以參考下
    2023-02-02
  • C++實(shí)現(xiàn)圖的鄰接表存儲(chǔ)和廣度優(yōu)先遍歷實(shí)例分析

    C++實(shí)現(xiàn)圖的鄰接表存儲(chǔ)和廣度優(yōu)先遍歷實(shí)例分析

    這篇文章主要介紹了C++實(shí)現(xiàn)圖的鄰接表存儲(chǔ)和廣度優(yōu)先遍歷,實(shí)例分析了C++實(shí)現(xiàn)圖的存儲(chǔ)與遍歷技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04

最新評論

迁西县| 盈江县| 清远市| 靖江市| 大渡口区| 措勤县| 常宁市| 闽侯县| 和田市| 平凉市| 揭阳市| 佛学| 渑池县| 伊宁市| 长兴县| 确山县| 湘乡市| 射阳县| 福安市| 肃宁县| 望都县| 双牌县| 桐柏县| 彝良县| 洛川县| 墨脱县| 涪陵区| 光山县| 公主岭市| 松溪县| 麻城市| 嘉祥县| 驻马店市| 沁阳市| 青龙| 石林| 封开县| 平顺县| 鄂州市| 芷江| 铜鼓县|