• 正文
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard-系统信息与资源之查看系统标识

01/08 11:57
200
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

uname用于获取系统信息,如操作系统名称、内核版本、硬件架构等。

1.头文件

#include <sys/utsname.h>

2.函数原型

int uname(struct utsname *buf);

3.参数

*buf:一个指向 struct utsname 结构体的指针。该结构体用于存放系统信息。

下面来介绍一下struct utsname 结构体:

struct utsname {

char sysname[];     /* 操作系统名称*/

char nodename[];   /*网络节点的主机名*/

char release[];     /*操作系统版本*/

char version[];     /*操作系统版本号*/

char machine[];     /*硬件名称*/

#ifdef _GNU_SOURCE

char domainname[];  /*网络域名*/

#endif

};

4.返回值

如果成功,uname 返回 0。如果出错,返回 -1,并设置 errno 以指示错误原因。

5.示例:(使用uname查看系统基本信息)

#include <stdio.h>

#include <sys/utsname.h>

#include <errno.h>

int main() {

struct utsname buf;

if (uname(&buf) == -1) {

perror("uname");

return 1;

}

printf("System Name: %sn", buf.sysname);

printf("Node Name: %sn", buf.nodename);

printf("Release: %sn", buf.release);

printf("Version: %sn", buf.version);

printf("Machine: %sn", buf.machine);

return 0;

}

6.查看测试结果

System Name: Linux

Node Name: ubuntu

Release: 6.8.0-40-generic

Version: #40~22.04.3-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 30 17:30:19 UTC 2

Machine: x86_64

相关推荐