zoukankan      html  css  js  c++  java
  • readelf -s 命令‘symbol’名字显示不全

    GCC编译出来的object(目标文件)getPon.o,在链接时(ld)报了一个错误说找不到一个函数(undefined reference to identifier devCtl_getEtherLanHostStatus),可是在源代码明明是有这一个函数。只不过被"#ifdef "宏个括起来了,最可能的原因就是这个宏没有开,函数没有被编译进去。怎样确认这一点哪?

    就用上readelf命令了,Linux下的可执行文件格式是"ELF32"或者是"ELF64",就像"readelf"名字所暗示的那样,"readelf"可以读取ELF文件的信息,更详细的用法"man readelf"查阅MAN手册可以知道.

    readelf -s getPon.o

    显示目标文件中所有的Symbol,可是如果定义的函数名太长的话,'readelf -s'显示symbol名字时会被截断。想要显示symbol名字不被截断,可以换用'nm’或'objdump’命令

    nm getPon.o

    objdump -t getPon.o

  • 相关阅读:
    Java 在线/离线 文档
    Java集合框架全解
    【LeetCode】204.计数质数
    深入SpringMvc
    SpringMvc基础
    SSM整合
    Spring注解
    SpringAop编程
    2路插入排序
    Matplotlib绘图库简要介绍
  • 原文地址:https://www.cnblogs.com/solitrarychen/p/5571100.html
Copyright © 2011-2022 走看看