linux系统编程:获取glibc的版本号

摘要:
我的环境是ubuntu16.04glibc的官方网站:http://www.gnu.org/software/libc/libc.html方法1.一般来说,涉及库调用的程序在链接时将链接到glibc,因此可以使用ldd命令查看ghostwu@ubuntu:~/c-program/linux-unix/chapter4$ldd./pwd|greplibclibc.so。6=˃/lib/x86_六

我的环境是ubuntu16.04

glibc官网:http://www.gnu.org/software/libc/libc.html

方法一、一般来说,涉及到库调用的程序,在链接时候都会链接到glibc,所以,可以用ldd命令来查看

ghostwu@ubuntu:~/c_program/linux_unix/chapter4$ ldd ./pwd | grep libc
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7c45491000)
ghostwu@ubuntu:~/c_program/linux_unix/chapter4$ /lib/x86_64-linux-gnu/libc.so.6 
GNU C Library (Ubuntu GLIBC 2.23-0ubuntu9) stable release version 2.23, by Roland McGrath et al.
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 5.4.0 20160609.
Available extensions:
    crypt add-on version 2.1 by Michael Glad and others
    GNU Libidn by Simon Josefsson
    Native POSIX Threads Library by Ulrich Drepper et al
    BIND-8.2.3-T5B
libc ABIs: UNIQUE IFUNC
For bug reporting instructions, please see:
<https://bugs.launchpad.net/ubuntu/+source/glibc/+bugs>.

这个就是我的电脑上glibc的路径:/lib/x86_64-linux-gnu/libc.so.6

方法二:man -k glibc,可以找到一个系统函数gnu_get_libc_version,他可以用来获取版本

ghostwu@ubuntu:~$ man -k libc
cracklib-check (8)   - Check passwords using libcrack2
create-cracklib-dict (8) - Check passwords using libcrack2
curl-config (1)      - Get information about a libcurl installation
error (3)            - glibc error reporting functions
error_at_line (3)    - glibc error reporting functions
error_message_count (3) - glibc error reporting functions
error_one_per_line (3) - glibc error reporting functions
error_print_progname (3) - glibc error reporting functions
glibc (7)            - overview of standard C libraries on Linux
gnu_get_libc_release (3) - get glibc version and release
gnu_get_libc_version (3) - get glibc version and release
libc (7)             - overview of standard C libraries on Linux
ghostwu@ubuntu:~$ man 3 gnu_get_libc_version 
/*================================================================
*   Copyright (C) 2018 . All rights reserved.
*   
*   文件名称:check_glibc_version.c
*   创 建 者:ghostwu(吴华)
*   创建日期:2018年01月10日
*   描    述:获取GNU C库(glibc)的版本号
*
================================================================*/

#include <stdio.h>
#include <gnu/libc-version.h>

int main(int argc, char *argv[])
{
    printf( "glibc's version: %s
", gnu_get_libc_version() );
    return 0;
}

方法三、getconf GNU_LIBC_VERSION

免责声明:文章转载自《linux系统编程:获取glibc的版本号》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android 操作系统的内存回收机制机器视觉算法与应用读书笔记(算法)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Kali Linux 搜狗输入法安装

本文转载至:https://www.cnblogs.com/captainRoB/p/7377290.html 1、下载 搜狗输入法 for Linux http://pinyin.sogou.com/linux/  //有64位和32位的deb包 我这里下载的是 : sogoupinyin_2.1.0.0086_amd64.deb 2、安装 Kali基于...

linux下redis4.0.2集群部署(利用Ruby脚本命令)

一、原生命令方式和Ruby脚本方式区别 利用Ruby脚本部署和用原生命令部署,节点准备的步骤都是一样的,节点启动后的握手,以及主从、槽分配,利用Ruby脚本一步就能完成,利用原生命令需要一步一步地执行命令完成。 二、部署架构:3台服务器,互为主从,3主3从 三、准备6个节点配置文件 在172.28.18.75上操作 cd /etc/redis vim r...

debian内核代码执行流程(一)

 本文根据debian开机信息来查看内核源代码。 系统使用《debian下配置dynamic printk以及重新编译内核》中内核源码来查看执行流程。 使用dmesg命令,得到下面的开机信息: [ 0.000000] Initializing cgroup subsys cpuset [ 0.000000] Initializing cgrou...

zabbix安装部署

Zabbix安装部署 环境准备 OS:CentOS 7.2 64bit Zabbix版本:3.0.12 MySQL版本:5.6 注意:zabbix3.0相关要求 mysql5.0以上版本、apache1.3以上版本、php5.4以上版本。 版本选择 在版本选择建议选择官方技术支持时间较长(LTS)的稳定版本,从上图我我们可以看到没有最新最稳定的...

在Centos7中,从主机 Windows 上无法远程访问 Linux 上rabbitmq的解决方法

  当在 Linux 上配置好 Rabbitmq服务器后,如果从主机中无法访问到 Linux 中的Rabbitmq服务器时,需要做如下的检查: 1. Rabbitmq是否启动成功 在控制台输入: ps -ef | grep rabbitmq 命令含义:从当前所有进程中查找是否含有rabbitmq进程 如果有内容显示,则说明 Rabbitmq启动成功   否...

Linux 下使用acme.sh生成Let's Encrypt泛域名免费证书

一、需求场景 自从数年前苹果开始强制要求所有IOS所有应用必须全部使用 https,以及google、baidu、bing 这三大搜索引擎开始大规模支持 https,https 已经成为现在保障网站完全的最基础需求,大量的供应商开始出现,并提供证书服务,但是对于一些非盈利性质的网站或博客站长,或公司测试环境也想使用https认证时,并不想在这上面投入太多的...