linux uname内核,Linux下confstr与uname函数_获取C库与内核信息
Linux下confstr与uname函数_获取C库与内核信息
#include
#include //uname
int main(int argc, char **argv[])
{
struct utsname u;
if (uname(&u) != -1) {
printf("获取当前内核的名称和信息如下\n"
"sysname:%s\n"
"nodename:%s\n"
"release:%s\n"
"version:%s\n"
"machine:%s\n"
, u.sysname, u.nodename, u.release, u.version, u.machine);
}
return 0;
}
输出如下:‘
获取当前内核的名称和信息如下
sysname:Linux
nodename:fes
release:2.6.32-220.el6.x86_64
version:#1 SMP Wed Nov 9 08:03:13 EST 2011
machine:x86_64
size_t confstr(int name, char *buf, size_t len);
confstr函数获取依赖配置的字符串变量的值
1、_CS_GNU_LIBC_VERSION,the GNU C library version on this system
2、_CS_GNU_LIBPTHREAD_VERSION,the POSIX implementation supplied by this C library
3、_CS_PATH,A value for the PATH variable which indicates where all the POSIX.2 standard utilities can be found.
#include
#include
#include //confstr
int main(int argc, char **argv[])
{
char *pathbuf, *gun_libpthread_version_buf, *gun_libc_version_buf;
size_t n;
n = confstr(_CS_PATH,NULL,(size_t) 0);
pathbuf = malloc(n);
if (pathbuf == NULL)
abort();
confstr(_CS_PATH, pathbuf, n);
printf("_CS_PATH, A value for the PATH variable:%s\n", pathbuf);
free(pathbuf);
pathbuf = NULL;
n = confstr(_CS_GNU_LIBPTHREAD_VERSION,NULL,(size_t) 0);
if (n > 0) {
gun_libpthread_version_buf = malloc(n);
}
if (gun_libpthread_version_buf == NULL)
abort();
confstr(_CS_GNU_LIBPTHREAD_VERSION, gun_libpthread_version_buf, n);
printf("_CS_GNU_LIBPTHREAD_VERSION, the POSIX implementation supplied by this C library:%s\n", gun_libpthread_version_buf);
free(gun_libpthread_version_buf);
gun_libpthread_version_buf = NULL;
n = confstr(_CS_GNU_LIBC_VERSION,NULL,(size_t) 0);
if (n > 0) {
gun_libc_version_buf = malloc(n);
}
if (gun_libc_version_buf == NULL)
abort();
confstr(_CS_GNU_LIBC_VERSION, gun_libc_version_buf, n);
printf("_CS_GNU_LIBC_VERSION, the GNU C library version on this system: %s\n" \
, gun_libc_version_buf);
free(gun_libc_version_buf);
gun_libc_version_buf = NULL;
return 0;
}
输出结果如下:
_CS_PATH, A value for the PATH variable:/bin:/usr/bin
_CS_GNU_LIBPTHREAD_VERSION, the POSIX implementation supplied by this C library:NPTL 2.12
_CS_GNU_LIBC_VERSION, the GNU C library version on this system: glibc 2.12
linux uname内核,Linux下confstr与uname函数_获取C库与内核信息相关推荐
- linux下confstr与uname函数_获取C库与内核信息
#include <stdio.h> #include <sys/utsname.h> //unameint main(int argc, char **argv[]) {st ...
- python中__init__下划线怎么打出来___init__()-------“_”下划线开头的函数
1.linux kernel中双下划线开头的函数 常常, 当你查看内核 API 时, 你会遇到以双下划线(__)开始的函数名. 这样标志的函数名通常是一个低层的接口组件, 应当小心使用. 本质上讲, ...
- uname命令 linux,Linux系统调用--uname()函数及系统下的uname命令
[uname系统调用] 功能描述: 获取当前内核名称和其它信息. 用法: #include /* Put information about the system in NAME. */ exter ...
- uname命令 linux,Linux系统下使用uname命令显示系统和硬件信息
用法:uname [选项]... 输出一组系统信息.如果不跟随选项,则视为只附加-s 选项. -a, --all 以如下次序输出所有信息.其中若-p 和 -i ...
- linux 返回非法指令,linux – ARM Cortex A7在内核模式下返回PMCCNTR = 0,在用户模式下返回非法指令(即使在PMUSERENR = 1之后)...
我想在Raspberry Pi 2上读取循环计数寄存器(PMCCNTR),它有一个ARM Cortex A7内核.我为它编译了一个内核模块,如下所示: #include #include int in ...
- 华为服务器通过mgmt口挂载光盘装系统及Linux系统rescue模式下修复内核
Linux系统rescue模式下修复内核和grub 故障现象 处理思路,内核报错,因此重新安装内核,通过光盘启动,进入救援模式. 1.进入救援模式 (1)华为服务器没有光驱,通过mgmt管理口登录,挂 ...
- IDR221F-H身份证阅读器模块基于国产UOS 系统(Linux内核)下的调用操作说明
IDR221F-H身份证阅读器模块除支持Win系列操作系统,也支持国产操作系统,如通信UOS.银河麒麟Kylin.中标麒麟.Ubuntu.鸿蒙等操作系统,在基于UOS 系统(Linux内核)下的应用, ...
- 嵌入式Linux开发,Ubuntu22下交叉编译内核报错: multiple definition of `yylloc‘; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0
一.问题描述 嵌入式Linux开发,Ubuntu22下交叉编译内核报错: /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple ...
- Linux ps、top、free、uname命令
Linux ps.top.free.uname命令 Linux有很多查看系统运行时状态的命令,例如查看进程信息的ps和top,以及查看内存信息的free命令和操作系统信息的uname命令等. ps 全 ...
最新文章
- Javascrapy的window onload()函数用法
- python判断CSV文件是否空
- jquery easyui的应用-2
- python处理excel表格数据-利用Python处理和分析Excel表中数据实战.doc
- tensorflow2.X安装及使用
- 【转载】linux 下 cpu使用情况分析
- 2018 Multi-University Training Contest 7 - Sequence
- 一级学科和二级学科_在多学科团队中工作的6个障碍(以及如何解决这些问题)
- Mac OS使用技巧之十四:自定义文件图标
- 园林系统优秀党员推荐材料_园林绿化公司党员先进个人事迹材料
- sql 按照天环比_SQL 求同比 环比
- 用计算机写试卷反思,计算机试卷
- Redis集群搭建与简单使用
- Apache Hadoop YARN
- 原生Android开发自学过程(二)之TextView基础属性
- 解决 Sketch 在MAC M1上运行卡顿等问题!
- 无线传感器网络中低功耗MAC协议—T-MAC
- w10怎么修改dns服务器,Win10怎么修改DNS 如何把DNS设置为百度公共DNS
- 用java编写矩阵运算_基本矩阵运算的Java实现
- 6.再来一题除法算术题