linux系统中如何通过程序来获知系统信息

      最近在做一个项目,遇到要在程序中动态的获取设备硬件信息。纠结了我很长时间,今天突然发现原来在linux中有API函数直接就可以实现。对于好东西,当然要和大家share下了。

一.uname()函数

1.使用uname函数来实现获取系统信息

1>函数原型

#include <sys/utsname.h>

int uname(struct utsname *buf);

2>函数功能:

该函数会告诉我们系统的相关信息。

3>函数返回值

函数返回信息存放在struct utsname结构体buf中,当函数成功时会返回0,当发生错误时会返回-1。

4>struct utsname的定义如下:

#include<sys/utsname.h>

struct utsname{

      char  sysname[SYS_NMLN];

      char  nodename[SYS_NMLN];

   char  release[SYS_NMLN];

   char version[SYS_NMLN];

      char   machine[SYS_NMLN];

      char   __domainname[SYA_NMLN];

};

结构体成员描述如下: