linux下confstr与uname函数_获取C库与内核信息
#include <stdio.h>
#include <sys/utsname.h> //unameint 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 <stdio.h>
#include <stdlib.h>
#include <unistd.h> //confstrint 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下confstr与uname函数_获取C库与内核信息相关推荐
- linux uname内核,Linux下confstr与uname函数_获取C库与内核信息
Linux下confstr与uname函数_获取C库与内核信息 #include #include //uname int main(int argc, char **argv[]) { struc ...
- Linux 下调用UEFI的函数
Linux 下调用UEFI的函数 摘要 Linux 调用UEFI function 时候调用约定的转换 64bits calling convention Microsoft calling conv ...
- Linux下的内存对齐函数
在Linux下内存对齐的函数包括posix_memalign, aligned_alloc, memalign, valloc, pvalloc,其各个函数的声明如下: int posix_memal ...
- Linux系统常用函数,浅谈linux下的一些常用函数的总结(必看篇)
1.exit()函数 exit(int n) 其实就是直接退出程序, 因为默认的标准程序入口为int main(int argc, char** argv),返回值是int型的. 一般在shell下 ...
- Linux系统怎么编译sin,linux下gcc编译sin函数出错的问题
linux下gcc编译sin函数出错的问题 收藏 Q: I keep getting errors due to library functions being undefined, but I'm ...
- linux下C语言main函数参数解析
1. linux下常见的main函数有两种形式: int main(int argc, char **argv) int main(int argc, char * argv[]) 2. 参数介绍 第 ...
- Linux 下谨慎使用 rm,避免从删库到跑路的悲剧发生
我们该如何再次避免删库"跑路"等事件的再次发生? 对此,在企业首先做好权限管理以及多重审核机制的同时,CSDN 也曾教诸多程序员们如何在 Linux 下谨慎使用 rm,避免从删库到 ...
- linux下的常用时间函数总结
1.Unix系统一直使用两种不同的时间值:"日历时间"和"进程时间" 1.1.日历时间,日历时间是从国际标准时间公元1970年1月1日00:00:00到现在所经 ...
- linux下c语言http服务器_服务器端开发经验总结 Linux C语言
简介 在进行服务器端开发的时候需要考虑一些算法和性能问题,经过了几年的开发,对这方面有了一些经验,现在写下来跟大家分享和讨论. 我主要是在Linux下进行C语言的开发,所以后面的实现都是基于Linux ...
最新文章
- SAP零售商品类别层次:为什么(业务视角)?
- 使用SQLServer 2008的CDC功能实现数据变更捕获
- Python之中文识别
- 计算机应用系统的开发活动,计算机应用教学训练系统的开发与应用.doc
- 关于对接保税仓物流系统或支付系统推送报关单的一些琐碎的问题
- oracle 子表数据变化时主表也会更新_亿信ABI版本重大更新,新增60余个实用新功能,还有一项黑科技...
- Spring开发环境搭建和第一个示例程序
- 深拷贝与浅拷贝、值语义与引用语义对象语义 ——以C++和Python为例
- 在DataGrid中选择,确认,删除多行复选框列表
- php 反射 调用私有方法,PHP通过反射方法调用执行类中的私有方法
- 使用函数求余弦函数的近似值_WPS-Excel表格实用技巧-排名函数RANK函数的使用
- 【数据结构】线性表之数组---C++语言描述
- 关于卸载流氓软件,自己试错的一些结论
- 银行账户管理系统GUI
- 千万千万不要和女程序员做同事!否则你会......爱上她
- 知乎,挣钱?果然具有长尾效应
- 中国AI独角兽新增一员:这家公司获得10亿元C轮融资 估值达到12亿美金
- 自然数、实数、整数、有理数的符号表示
- 音视频直播流程及常见视频流协议介绍
- 调用第三方应用App
热门文章
- 1、操作系统基础概念
- Esper系列(十二)Variables and Constants
- Bootstrap Metronic 学习记录(一)简介
- 读excel图片到数据库和上传图片到数据库
- 【Windows 逆向】CheatEngine 工具 ( CheatEngine 简介 | 使用 Lazarus 编译 CE 源码 | CheatEngine 相关文档资料 )
- 【Android 文件管理】分区存储 ( MediaStore 文件操作 )
- 【鸿蒙 HarmonyOS】界面跳转 ( AbilitySlice 之间的界面跳转 | AbilitySlice 之间的值传递 )
- 【Android 系统开发】Android框架 与 源码结构
- DonkeyID---php扩展-64位自增ID生成器
- web项目_学生证管理系统