【发布时间】:2015-03-29 17:08:00
【问题描述】:
这里有一些超级简单的东西:
我的代码(p1.s):
.intel_syntax noprefix
.arch i386
.data
poruka:
.asciz "Zdravo svete!\n"
kraj_poruke:
.equ duzina_poruke, kraj_poruke - poruka
.text
.extern write
.extern exit
.globl _start
_start:
push duzina_poruke
push offset poruka
push 1
call write
add esp, 12
push 0
call exit
.end
我用来组装和链接文件的命令:
as -o p1.o p1.s
ld -o p1 -dynamic-linker /lib/ld-linux.so.2 p1.o -l c
在这些命令之后,我将 p1.s、p1.o 和 p1 文件都放在了我想要它们的目录中。
我得到的错误:
bash ./p1 : Accessing a corrupted shared library.
为什么? :D 提前致谢!
有人可以向我解释为什么这不起作用吗?提前致谢! :)
【问题讨论】:
标签: linux assembly linker x86 gnu