深入探索汇编与C语言的融合:从编译到调用约定
1. 汇编程序的编译与链接
在使用NASM汇编器编写Linux汇编程序时,我们可以将.asm文件转换为包含二进制目标代码的.o文件。以64位Linux系统为例,调用NASM的常见命令如下:
nasm –f elf64 -g -F dwarf eatclib.asm
此命令会让NASM汇编 eatclib.asm 文件,并生成 eatclib.o 文件。其中, –f elf64 指定生成64位ELF格式的目标代码, -g -F dwarf 则启用DWARF格式的调试信息生成。
生成的 .o 文件本身不可执行,需要进行链接操作。我们使用 gcc 来完成链接工作,命令如下:
gcc eatclib.o –o eatclib –no-pie
该命令中,由于输入文件是包含目标代码的 .o 文件, gcc 会自动识别为链接操作,将 .o 文件与C运行时库链接,生成最终的可执行文件。 –o eatclib 指定最终可执行文件的名称为 eatclib ,若不指定, gcc <
超级会员免费看
订阅专栏 解锁全文
1132

被折叠的 条评论
为什么被折叠?



