linux下confstr与uname函数_获取C库与内核信息
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux下confstr与uname函数_获取C库与内核信息,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2321字,纯文字阅读大概需要4分钟。
内容图文
#include <stdio.h> #include <sys/utsname.h> //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_64size_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> //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
原文:http://blog.csdn.net/callinglove/article/details/40372253
内容总结
以上是互联网集市为您收集整理的linux下confstr与uname函数_获取C库与内核信息全部内容,希望文章能够帮你解决linux下confstr与uname函数_获取C库与内核信息所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。