从存储器内部看uname结构
来源:互联网 发布:大数据优缺点 编辑:程序博客网 时间:2024/05/14 22:22
#include <sys/utsname.h>#include <stdio.h>#include <errno.h>#include <string.h>int main(){ struct utsname name; if(uname(&name)==-1){ perror("uname error"); return -1; } size_t len=0; char* addr=(char*)&name; while(len<sizeof(struct utsname)){ if(*(addr+len)=='\0'){ ++len; continue; } printf("%s ",addr+len); len+=strlen(addr+len); } putchar('\n'); return 0;}
结果如下:
Linux XXX 3.19.0-61-generic #69~14.04.1-Ubuntu SMP Thu Jun 9 09:09:13 UTC 2016 x86_64 (none)
对于utsname结构的定义可直接到
struct utsname{ char sysname[_UTSNAME_SYSNAME_LENGTH]; char nodename[_UTSNAME_NODENAME_LENGTH]; char release[_UTSNAME_VERSION_LENGTH]; char machine[_UTSNAME_MACHINE_LENGTH];#if _UTSNAME_DOMAIN_LENGHT - 0#ifdef __USE_GNU char domainame[_UTSNAME_DOMAIN_LENGTH];#else char __domainname[_UTSNAME_DOMAIN_LENGTH];#endif#endif};
由此可知在Linux中utsname结构的对象存储器中存储形式如下:
内容 | sysname[] |: nodename[] |: release[] |: version[] |: machine[]: | ….. |
参考书:
0 0
- 从存储器内部看uname结构
- 我从内部看ARM
- 我从内部看内存
- 从手机内部存储器中获取相应文件
- 从冯诺伊曼结构看AI
- android内部存储器和外部存储器
- uname
- uname
- uname
- uname
- uname()
- uname
- Uname
- uname
- uname
- uname
- uname
- 从单向收费看资费结构优化原则
- 渐行渐远···的码
- MFC listctrl显示缩略图时索引问题和滚动条问题
- 如何修改私服的Deployment Policy属性
- Stm32_调试出现 Error:Flash Download Failed-"Cortex-M3" 解决方案。
- tomcat介绍
- 从存储器内部看uname结构
- 大数据教你挑选分析师
- 开发过程使用Tomcat Maven插件持续快捷部署Web项目
- Shiro 3 filter
- HotSpot是什么?
- 自制maven archetype
- 两种异常错误的解决
- sysbench 安装、使用和测试
- python问题--缩进,IndentationError:expected an indented block