编译系统3:汇编

汇编器as将hello.s翻译成机器语言指令,把这些指令打包成一种可重定位目标程序的格式,并将结果保存在目标文件hello.o中,它是一个二进制文件,它的字节编码是机器语言指令而不是字符,所以如果文本编辑器中打开hello.o会看到一堆乱码

汇编过程将汇编代码转变成机器可以执行的指令,每一个汇编语句几乎都对应一条机器指令,所以汇编器的汇编过程相对于编译器来说相对简单,它没有复杂的语法,也没有语义,也不需要做指令优化,只需要根据汇编指令和机器指令的对照表来一个个翻译,整个会变过程可以通过调用汇编器as来完成

操作如下:

lihui@LastWish ~ $ as hello.s -o hello.o

或者

lihui@LastWish ~ $ gcc -c hello.s -o hello.o

当然也可以直接使用gcc命令从源代码开始,直接通过预处理,编译,汇编得到目标文件,也就是我们十分熟习的过程:

lihui@LastWish ~ $ gcc -c hello.c -o hello.o

发表回复