当前位置: 技术问答>linux和unix
linux下怎样用C语言获取CPU和硬盘的ID
来源: 互联网 发布时间:2016-08-23
本文导语: linux下怎样用C语言获取CPU和硬盘的ID? | 1.使用cpuid指令获取CPU ID,这里有分代码 http://www.google.com/codesearch/p?hl=zh-CN&sa=N&cd=4&ct=rc#IiI0JZ4wesY/aros/AROS-20060207-contrib-source.tar.bz2%7C8pJGcv6OdLU/AROS-20060207-con...
linux下怎样用C语言获取CPU和硬盘的ID?
|
1.使用cpuid指令获取CPU ID,这里有分代码
http://www.google.com/codesearch/p?hl=zh-CN&sa=N&cd=4&ct=rc#IiI0JZ4wesY/aros/AROS-20060207-contrib-source.tar.bz2%7C8pJGcv6OdLU/AROS-20060207-contrib-source/gnu/cpuid/cpuid.c&q=cpuid
2.获取硬盘ID
读取/etc/mtab文件,找到硬盘设备如(/dev/sda等),然后打开它,再调用ioctl来实现。
ioctl第二个参数为HDIO_GET_IDENTITY, 获得指定文件描述符的标志号
ioctl的第三个参数为struct hd_driveid ,在linux/hdreg.h中声明。
http://www.google.com/codesearch/p?hl=zh-CN&sa=N&cd=4&ct=rc#IiI0JZ4wesY/aros/AROS-20060207-contrib-source.tar.bz2%7C8pJGcv6OdLU/AROS-20060207-contrib-source/gnu/cpuid/cpuid.c&q=cpuid
2.获取硬盘ID
读取/etc/mtab文件,找到硬盘设备如(/dev/sda等),然后打开它,再调用ioctl来实现。
ioctl第二个参数为HDIO_GET_IDENTITY, 获得指定文件描述符的标志号
ioctl的第三个参数为struct hd_driveid ,在linux/hdreg.h中声明。
|
把lscpi命令 里嵌入c语言
|
其实如果直接用c语言的话 调用一个open() read() 函数 读取/proc/cpu 文件就可以了。