我正在尝试在 Linux 的 NASM 中实现 C 函数“exp”。该函数接受一个双精度值 x,并返回一个双精度值 r = e^x,其中 e 是欧拉数。这是我的实现:
extern exp
SECTION .bss
doubleActual: resq 1
doubleX: resq 1
SECTION .text
main:
;some other code here
;calculate actual result
push doubleActual ; place to store result
push doubleX ;give the function what x is.
call exp
add esp, 8
在编译尝试时,我得到以下信息:
hw7_3.o: In function `termIsLess':
hw7_3.asm:(.text+0xf9): undefined reference to `exp'
这是指当我实际调用 exp 时,这很奇怪,因为“extern exp”似乎工作得很好。我做错了什么?