小编Pra*_*wat的帖子

GNU ld 消息:“添加符号时出错:汇编语言格式错误的文件”

我正在尝试运行一个简单的汇编代码来打印 hello world

global _start

section .text
_start:
    ;printing hello world
    mov rax,1
    mov rdi,1
    mov rsi,texta
    mov rdx,11
    syscall
    ;exiting
    mov rax,60
    mov rdi,1
    syscall

section .data

    texta: db 'Hello world'
Run Code Online (Sandbox Code Playgroud)

我用nasm组装的

root@localhost:~# nasm -f elf64 do.asm -o do.o
Run Code Online (Sandbox Code Playgroud)

但是当我尝试编译/运行它时,它显示错误

root@localhost:~# ld do.o -o do
ld: do.o: Relocations in 
generic ELF (EM: 62)
ld: do.o: error adding 
symbols: file in wrong format
Run Code Online (Sandbox Code Playgroud)

有什么方法可以解决这个问题我正在 Ubuntu-in-termux 中运行它

我的系统信息: 这是我的系统信息

提前致谢

请解决

ubuntu assembly android nasm termux

-1
推荐指数
1
解决办法
4822
查看次数

标签 统计

android ×1

assembly ×1

nasm ×1

termux ×1

ubuntu ×1