在Linux操作系统中,gettimeofday() 是一个常用的系统调用函数,用于获取当前时间。它返回从 1970 年 1 月 1 日到当前时间的总微秒数和秒数,并将结果存储在 timeval 结构体中。这个函数在很多程序中被广泛使用,尤其是在需要测量时间、计时或者进行时间相关计算的场合。

要使用 gettimeofday() 函数,首先需要包含 头文件。其函数原型如下:

```c
int gettimeofday(struct timeval *tv, struct timezone *tz);
```

参数 tv 是一个指向 timeval 结构体的指针,用来存储获取到的时间值;参数 tz 用来指定时区信息,在新版本的 Linux 中已经被忽略,传入 NULL 即可。

下面是一个简单的例子来展示如何使用 gettimeofday() 函数来获取当前时间:

```c
#include
#include

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

printf("Seconds: %ld\n", tv.tv_sec);
printf("Microseconds: %ld\n", tv.tv_usec);

return 0;
}
```

编译并执行以上代码,将会输出当前时间的秒数和微秒数。这个函数的使用非常简单,但是却十分有用。比如在编写高性能程序时,我们可以使用 gettimeofday() 函数来测量特定代码段的执行时间,从而进行性能优化。

除了 gettimeofday() 函数之外,在 Linux 下还有一些其他获取时间的方式,比如 clock_gettime() 函数,或者通过 /proc 文件系统中的一些文件来获取系统时间等。但 gettimeofday() 函数仍然是最常用的一种方式,在大多数情况下都能够满足需求。

总的来说,gettimeofday() 函数在 Linux 下是一个十分方便实用的函数,它为我们提供了一个简单、快捷的方法来获取当前系统时间。在我们的日常编程中,如果需要获取时间信息,gettimeofday() 绝对是一个值得信赖的选择。