程序的机器级表示
2015-01-13 16:01
162 查看
用高级语言写的程序在编译之后,可以通过反汇编,重新生成汇编语言。这中生成的汇编语言是经过优化之后的,我们又可以通过这种经过优化的汇编语言重新生成高级语言,从而使我们的程序得到优化,增加程序的执行效率。
而汇编语言到高级语言的转化是人工进行的,在转换时,我们需要记住一些必要的汇编语法就好。
在命令行上使用”-S“选项,就能得到C语言编译器产生的汇编代码:
unix> gcc -01 -S code.c
这会使GCC运行编译器,产生一个汇编文件code.s。
如果使用”-C“命令,GCC会编译并汇编该代码:
unix> gcc -01 -C code.c
这就会产生目标代码文件code.o,它是二进制格式。
想要查看目标代码文件的内容,可以使用反汇编器。这些程序根据目标代码产生一种类似于汇编代码的格式。在Linux系统中,带”-d“命令行标志的程序OBJDUMP(表示object dump)可以充当这个角色:
Unix>objdump -d code.o
而汇编语言到高级语言的转化是人工进行的,在转换时,我们需要记住一些必要的汇编语法就好。
在命令行上使用”-S“选项,就能得到C语言编译器产生的汇编代码:
unix> gcc -01 -S code.c
这会使GCC运行编译器,产生一个汇编文件code.s。
如果使用”-C“命令,GCC会编译并汇编该代码:
unix> gcc -01 -C code.c
这就会产生目标代码文件code.o,它是二进制格式。
想要查看目标代码文件的内容,可以使用反汇编器。这些程序根据目标代码产生一种类似于汇编代码的格式。在Linux系统中,带”-d“命令行标志的程序OBJDUMP(表示object dump)可以充当这个角色:
Unix>objdump -d code.o
相关文章推荐
- 读书笔记——《深入理解计算机系统》第三章_程序的机器级表示(二)
- 3、深入理解计算机系统笔记:程序的机器级表示
- 程序的机器级表示
- csapp读书笔记 chapter 3 程序的机器级表示
- 六星经典CSAPP-笔记(3)程序的机器级表示
- 《深入理解计算机系统》[第3章 程序的机器级表示]
- 程序的机器级表示
- CSI-IV:程序的机器级表示-反汇编基础
- 程序的机器级表示——《深入理解计算机系统》
- 深入理解计算机系统(笔记):程序的机器级表示
- chap3: 程序的机器级表示
- 深入理解计算机体系结构-----之 第三章 程序的机器级表示
- 《深入理解计算机系统》第3章 程序的机器级表示
- 深入理解计算机系统之旅(三)程序的机器级表示
- 3 Machine-Level Representation 程序的机器级表示
- 计算机基础一 -- 程序的机器表示
- CSAPP第三章:程序的机器级表示 小结
- 程序的机器级表示(二)
- 深入理解计算机系统-第3章程序的机器表示(一)
- 程序的机器级表示