您的位置:首页 > 运维架构 > Linux

64位Linux环境 编译32位汇编程序(外链C库函数)

2016-10-21 18:26 330 查看
使用的是gas

命令如下 :

as --32 -o helloworld.o helloworld.s


ld -m elf_i386 -dynamic-linker /lib/i386-linux-gnu/ld-linux.so.2 -o helloworld helloworld.o/lib/i386-linux-gnu/libc.so.6

在有些linux发行版,例如Arch Linux中,链接需要如下所示:

ld -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o hi hi.o
/usr/lib32/libc.so.6

编译、连接 两条命令完成。

在汇编源程序的第一行添加

.code32

表明这是一个32位汇编程序

如果汇编程序中没有引用C函数,则编译连接的命令比较简单。

as -o hello.o helloworld.s

ld -o hello hello.o
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: