libc中果然有很多的函数,使用nm看了一下,里面竟然还有reboot函数,汗!

使用grep,可以看到各种 printf 也都在这里头。

objdump是看函数的地址与函数名对应的,虽然也能证明printf在libc中,但是感觉有些大才小用哪。

使用objdump一下,比nm多出来一些信息,看来nm也可以把函数的地址打印出来的,呵呵。

[xiew@localhost lib]$ nm libc-2.3.2.so |grep printf
000e9210 t __argp_fmtstream_printf
00052040 W asprintf
00052040 T __asprintf
00052040 t __asprintf_internal
0004bf80 t buffered_vfprintf
00055ff0 t buffered_vfprintf
         U _dl_debug_printf@@GLIBC_PRIVATE
00052080 T dprintf
00051f50 T fprintf
00065ea0 W fwprintf
00065ea0 t __fwprintf
00052080 t __GI_dprintf
00051f50 t __GI_fprintf
0004c820 t __GI___printf_fp
00052000 t __GI_sprintf
00047690 t __GI_vfprintf
00051f50 W _IO_fprintf
0006a2d0 t _IO_obstack_printf
0006a1c0 t _IO_obstack_vprintf
00051f80 T _IO_printf
00052000 T _IO_sprintf
00069dc0 t _IO_vasprintf
00069f30 t _IO_vdprintf
00047690 T _IO_vfprintf
00047690 t _IO_vfprintf_internal
000520c0 t _IO_vfwprintf
0006a050 t _IO_vsnprintf
00064aa0 T _IO_vsprintf
00064aa0 t _IO_vsprintf_internal
00066070 t _IO_vswprintf
0006a2d0 W obstack_printf
0006a1c0 W obstack_vprintf
0004f160 T parse_printf_format
00051f80 T printf
001364c8 b __printf_arginfo_table
0004c820 T __printf_fp
0004fcd0 t __printf_fphex
00138c20 b __printf_function_table
00051660 T printf_size
00051f20 T printf_size_info
0004baf0 t printf_unknown
00055b10 t printf_unknown
0004f0d0 t __register_printf_function
0004f0d0 W register_printf_function
00051fc0 W snprintf
00051fc0 t __snprintf
00052000 T sprintf
00065ee0 T swprintf
00069dc0 W vasprintf
00069f30 W vdprintf
00047690 T vfprintf
000520c0 W vfwprintf
000520c0 t __vfwprintf
0004c7e0 T vprintf
0006a050 W vsnprintf
0006a050 W __vsnprintf
00064aa0 W vsprintf
00066070 W vswprintf
00066070 t __vswprintf
00065f20 T vwprintf
00065f60 T wprintf

---------------------
作者:csdnxw
来源:CSDN
原文:https://blog.csdn.net/csdnxw/article/details/1639640?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!

以上提到了两个工具,有时间要了解,一个是nm,一个是

objdump

printf是在libc库中么?的更多相关文章

  1. 动态库中的soname

    soname( Short for shared object name) 其是应用程序加载dll 时候,其寻找共享库用的文件名.其格式为 lib + math+.so + ( major versi ...

  2. 如何让静态库中的可执行程序不调用的函数不链接进该可执行程序?(-ffunction-sections -Wl,--gc-sections)

    关键词: -Wl,--gc-sections   -ffunction-sections  链接  elf   库 有时我们会遇到这种情况,可执行程序需要链接一些静态库,但是静态库中的函数并没有全部使 ...

  3. c++函数库中一些实用的函数

    有一些程序,虽然写起来不难,但是可能比较麻烦或容易出错,这时就可以用c++函数库里自带的一些实用的函数. 这里只记录一些不太常见的函数. ------------------------------- ...

  4. Lib作为“静态库”与“动态库”中的区别

    Lib作为“静态库”与“动态库”中的区别 0. 前言: 什么是静态连接库: 静态库在链接阶段,会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中.因此对应的链接方式称为静态链接. 为什么 ...

  5. 【C】——动态库中函数的作用范围

    如何生成动态库 net小伙 已经在此文中说明——[C]——如何生成静态库和动态库:接下来就要看看动态库中函数的作用范围: 首先我们使用命令   gcc -fPIC -shared -o libtest ...

  6. Golang调用windows下的dll动态库中的函数

    Golang调用windows下的dll动态库中的函数 使用syscall调用. package main import ( "fmt" "syscall" & ...

  7. C标准库中atoi的一种可能的实现

    为避免与标准库中的atoi产生歧义, 我将自己编写的函数命名为strToInt, 以下是示例代码 #include <stdio.h> int strToInt(const char *s ...

  8. 修改so库中的依赖名

    修改so库中的依赖名 在ArchLinuxArm上有一些针对aarch64, arm, armeabi-v7a等Android常用架构的so库可以下载,有时候可以省去很多编译时间,且都是编译optim ...

  9. 【Linux开发】OpenCV在ARM-linux上的移植过程遇到的问题4---共享库中嵌套库带路径【已解决】

    [Linux开发]OpenCV在ARM-linux上的移植过程遇到的问题4-共享库中嵌套库带路径[已解决] 标签:[Linux开发] 紧接着上一篇,我居然又尝试了一下编译opencv,主要是因为由于交 ...

随机推荐

  1. MongoDB 学习记录(一)

    前言:之前一直只是简单了解MongoDB,而且是随便看看的那种,今天决定好好的整理一下,以便自己能  温故而知新 1.MongoDB是什么 MongoDB 是一个高性能,开源,无模式的文档型数据库,开 ...

  2. ElasticSearch6.1.1集群搭建

    其实早就想研究ES了,因为之前用solr,资料较少(这倒不是问题,有问题去官网读文档),貌似用的人比较少?(别打我)前几天去京东面试,我觉得有必要了解一下es,昨天晚上简单了解了官方文档,今天居然鼓捣 ...

  3. django系列 1 :python+django环境搭建 +mac提示找不到manage.py命令

    1.安装python3 2.设置python3的环境变量 3.进入命令行模式,输入 pip install django 1.10.3 4.验证是否安装完成 pip show django 5.dja ...

  4. (二叉树 BFS DFS) leetcode 104. Maximum Depth of Binary Tree

    Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...

  5. mysql视图、触发事务、存储过程

    视图 视图是一个虚拟表(非真实存在的),其本质就是根据SQL语言获取动态的数据集,并为其命名,用户使用时只需要使用名称即可获得结果集,可以将结果集当做表来使用. 视图是存在数据库中的,如果我们程序中使 ...

  6. 有时候eclipse 导入maven项目 启动的时候回出现这样一个问题

    严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catali ...

  7. root登陆欢迎界面设置

    root登陆欢迎界面设置 #!/bin/bash echo -ne "\033[0;36m" cat<<EOF _oo0oo_ (| -_- |) \ = / ___/ ...

  8. bzoj2957 奥妙重重的线段树

    https://www.lydsy.com/JudgeOnline/problem.php?id=2957 线段树的query和update竟然还可以结合起来用! 题意:小A的楼房外有一大片施工工地, ...

  9. SQL语法基础之SELECT

    SQL语法基础之SELECT 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.SELECT查看帮助信息 1>.查看SELECT命令的帮助信息 mysql> ? SEL ...

  10. linux下生成00 01 02..99的这些数

    [root@localhost ~]# seq -s " " -w 9901 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 ...