49、深入探索汇编与C语言的融合:从编译到调用约定

深入探索汇编与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 <

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值