溫馨提示×

C++中timeval的典型用法示例有哪些

c++
小樊
85
2024-08-11 10:39:37
欄目: 編程語言

  1. 計算程序運行時間:可以使用timeval記錄程序開始和結束時的時間戳,然后計算兩者之差來獲取程序運行時間。
#include <iostream>
#include <sys/time.h>

int main() {
    struct timeval start, end;
    gettimeofday(&start, NULL);

    // Your code here

    gettimeofday(&end, NULL);

    long seconds = end.tv_sec - start.tv_sec;
    long micros = end.tv_usec - start.tv_usec;
    double elapsed = seconds + micros/1000000.0;

    std::cout << "Program executed in " << elapsed << " seconds." << std::endl;

    return 0;
}
  1. 實現(xiàn)定時器功能:可以使用timeval來設置定時器,當時間達到指定值時觸發(fā)某種操作。
#include <iostream>
#include <unistd.h>
#include <sys/time.h>

void timerCallback() {
    std::cout << "Timer expired!" << std::endl;
}

int main() {
    struct timeval timeout;
    timeout.tv_sec = 5;
    timeout.tv_usec = 0;

    select(0, NULL, NULL, NULL, &timeout);

    timerCallback();

    return 0;
}
  1. 計算兩個時間點之間的時間差:可以使用timeval來記錄兩個時間點,然后計算它們之間的時間差。
#include <iostream>
#include <sys/time.h>

int main() {
    struct timeval start, end;
    gettimeofday(&start, NULL);

    // Some operations

    gettimeofday(&end, NULL);

    long seconds = end.tv_sec - start.tv_sec;
    long micros = end.tv_usec - start.tv_usec;
    double elapsed = seconds + micros/1000000.0;

    std::cout << "The time difference is " << elapsed << " seconds." << std::endl;

    return 0;
}

這些是一些C++中timeval的典型用法示例,可以根據具體的需求進行修改和擴展。

0