c – 如何读取nm输出?
那是我的代码:
我生成main.o并尝试理解nm输出.在我使用nm main.o –printfile-name -a之后我得到了这个输出:
我理解第二和第三列但是,我真的不知道第一列是什么,无论是地址还是大小?我知道关于.bbs,.comment,.data和.text段的一些想法,但它是什么.eh_frame,.note.GNU-stack和.rodata? 最佳答案
我的本地联机帮助页(来自man nm)说
也就是说,第一列是符号的“值”.要理解这意味着什么,了解ELF和运行时链接器是有帮助的,但通常它只是相关部分的偏移量. 了解ELF的一些内容也有助于解决其他问题:man elf告诉我们.rodata部分是只读数据(即:永久值硬编码到程序中,永远不会改变.字符串文字可能会在这里). .eh_frame用于异常处理和其他调用堆栈帧元数据(对eh_frame的搜索具有this question作为第一个命中). (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- LINUX教程:Linux下配置SSH无秘钥登录
- LINUX教程:CentOS 7 安装sklearn gcc: error: ‘-Qunused-
- linux – 为什么dlsym()返回的符号的值为null?
- linux – 现代cpus如何处理跨页未对齐访问?
- 终端 – oh-my-zsh:git达到最大嵌套功能级别
- 制作Linux shell时流重定向和管道
- 如何确保我的Linux程序不产生核心转储?
- linux – 在这个用例中,TCP_CORK和TCP_NODELAY之间有什么显
- 使用MATLAB Engine连接已运行的MATLAB
- linux – 为什么我不能在Ubuntu 9.04服务器上外部访问我的C
- 终端 – oh-my-zsh:git达到最大嵌套功能级别
- linux – 如何在bash上使用filetype将文件排序到
- gedit插件错误 – 找不到插件加载器’python3′
- linux – 为什么我的线程Perl脚本会出现段错误?
- linux – 编辑fstab和mtab后是否需要重新启动服务
- linux – git push之后,项目从gitweb中消失了
- linux – Loggly不能通过Win上的Winston工作
- 如何使用net_dev_add()API过滤和拦截Linux数据包
- 如何在linux中使用python搜索可执行文件?
- Install Tomcat 6 on CentOS or RHEL --转载