C ++的可执行文件将包含链接器,模块和其他文件,我想了解一下其内容,
我正在使用linux,如何查看a.out的内容?
应该使用哪个命令浏览a.out,文本编辑器不会显示内容...
最佳答案
您可以使用nm
查看内部符号,并使用objdump
进行反汇编。例如:
objdump -D a.out | less
但是请注意,在最终将目标文件链接到可执行文件的过程中,消除了许多符号和内部数据,因此您将无法像使用目标文件那样理解结构。
如果要编辑和修改可执行文件,建议您使用
hte
编辑器,该编辑器可用作x86可执行文件的反汇编程序。如果您是debian / ubuntu用户,则软件包名称为“ ht”(不是“ hte”)。我也写了一个little elf disassembly library,它仍然不完整,但是很有趣。但是,您可以找到其他(更完整,可能更好)的实现!
关于c++ - 如何查看a.out文件的内容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2934692/