1、使用 clock() 计算时间clock() 是 C 标准库中的一个函数,它返回程序运行的“时钟滴答数”,通常用于测量 CPU 执行时间。clock() 返回的是一个 cl

1、使用 clock() 计算时间clock() 是 C 标准库中的一个函数,它返回程序运行的“时钟滴答数”,通常用于测量 CPU 执行时间。clock() 返回的是一个 clock_t 类型的值,可以通过它来计算程序运行的时间。

#include

#include

int main() {

// 获取开始时间

clock_t start_time = clock();

// 模拟一个耗时的操作(例如循环计算)

for (volatile int i = 0; i < 1000000000; i++) {

// 空操作

}

// 获取结束时间

clock_t end_time = clock();

// 计算并输出程序运行的时间(以秒为单位)

double elapsed_time = (double)(end_time - start_time) / CLOCKS_PER_SEC;

printf("Elapsed time: %f seconds\n", elapsed_time);

return 0;

}

2、使用 gettimeofday() 计算实际时间gettimeofday() 是一个更为精确的方法,返回从1970年1月1日以来的秒数和微秒数,非常适用于测量实际经过的时间。

#include

#include

int main() {

struct timeval start_time, end_time;

// 获取开始时间

gettimeofday(&start_time, NULL);

// 模拟一个耗时的操作

for (volatile int i = 0; i < 1000000000; i++) {

// 空操作

}

// 获取结束时间

gettimeofday(&end_time, NULL);

// 计算经过的时间(秒和微秒)

double elapsed_time = (end_time.tv_sec - start_time.tv_sec) +

(end_time.tv_usec - start_time.tv_usec) / 1000000.0;

printf("Elapsed time: %f seconds\n", elapsed_time);

return 0;

}

3、使用 time() 测量简单的时间time() 是一个非常简单的方式来获取当前时间。它返回从1970年1月1日以来的秒数。适用于那些不需要微秒级别精度的简单计时任务。

#include

#include

int main() {

time_t start_time, end_time;

// 获取开始时间

time(&start_time);

// 模拟一个耗时的操作

for (volatile int i = 0; i < 1000000000; i++) {

// 空操作

}

// 获取结束时间

time(&end_time);

// 计算并输出程序运行的时间(以秒为单位)

double elapsed_time = difftime(end_time, start_time);

printf("Elapsed time: %f seconds\n", elapsed_time);

return 0;

}