在 C 语言中,
uname
函数用于获取当前操作系统的相关信息。它是 POSIX 标准的一部分,定义在
<sys/utsname.h>
头文件中。通过调用
uname
函数,可以获取系统名称、节点名称(主机名)、操作系统版本、机器硬件架构等信息。
函数原型
#include <sys/utsname.h>
int uname(struct utsname *buf);
参数说明
buf
是一个指向struct utsname
的指针,函数会将系统信息填充到这个结构体中。
返回值
- 成功时返回
0
。 - 失败时返回
-1
,并设置errno
来指示错误原因。
struct utsname
定义如下:
struct utsname {
char sysname[]; // 操作系统名称(例如 "Linux")
char nodename[]; // 节点名称(通常是主机名)
char release[]; // 操作系统发行版本
char version[]; // 操作系统版本信息
char machine[]; // 硬件架构(例如 "x86_64")
};
每个字段是一个字符数组,存储了对应的信息