gpt4 book ai didi

linux - 将 Linux x86-64 程序集 hello world 程序与 ld 链接失败

转载 作者:IT王子 更新时间:2023-10-29 00:58:12 24 4
gpt4 key购买 nike

<分区>

最近我一直在玩弄 linux 上的 x86 64 位汇编,在编译了一个看似简单的程序后,我却摸不着头脑:P

虽然我编译并链接它没有抛出任何错误并生成一个 linux ELF当我尝试运行它时,我得到:

.:[ h4unt3r@sp3ctr4l-h0st asm ]:.
#(0)> ./hello
bash: ./hello: No such file or directory

我假设它生成了一个无效的 ELF 文件,这就是为什么它报告 hello 不存在,即使它存在。不知道为什么——我可能会继续研究它,只是好奇这是否可以用简单的方法解决 ^_^

这是我的编译/链接命令行:

nasm -f elf64 hello.s -g
ld -o hello hello.o -lc

代码如下:

section .data
msg: db "Hello, world!",0xa,0

section .text
extern printf
global main

main:
push rbp
mov rbp, rsp

mov rdi, msg
xor rax, rax
call printf
xor rax, rax

pop rbp
ret

编辑——我不想使用 gcc :)

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com