我是装配和使用yasm的新手,使用ebe编辑器。
现在,在我想要检查全局/外部机制的第一步之后。
因此我制作了2个模块:
actor.asm
extern greeter
section .text
global main
main:
push rbp
call greeter wrt ..plt
pop rbp
mov rax,0
ret
greeter.asm
extern printf
section .data
msg: db "Hello world", 0
fmt: db "%s", 10, 0
section .text
global greeter
type greeter function
size greeter greeter.end -greeter
greeter:
push rbp
mov rdi,fmt
mov rsi,msg
mov rax,0
call printf
pop rbp
mov rax,0
ret
.end:
两个文件都已编译,当我运行第一个文件时,会出现以下错误消息:
/home/1/Öffentlich/EBE_Space/ext_glob_test/actor.o:在功能中
main': /home/1/Öffentlich/EBE_Space/ext_glob_test/actor.asm:6: undefined reference to
招待员'
出了什么问题? 使全局函数可链接的必要条件是什么?
TIA