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

我的环境是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\n", gnu_get_libc_version() );
    return 0;
}

方法三、getconf GNU_LIBC_VERSION

 

posted @ 2018-01-10 15:17 ghostwu 阅读(...) 评论(...) 编辑 收藏
Copyright ©2017 ghostwu