gpt4 book ai didi

linux - GNU:访问损坏的共享库错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:53:00 24 4
gpt4 key购买 nike

这里有一些非常简单的东西:

我的代码(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提前致谢!

有人可以向我解释为什么这不起作用吗?提前致谢! :)

最佳答案

如果您使用的是 64 位系统,就会发生这种情况。如果您想创建 32 位程序,请使用 as --32ld -melf_i386。另请注意,如果你想使用 libc,你应该使用入口点 main 而不是 _start 并使用 gcc -m32 进行编译和链接,这样一切都可以得到正确设置,您就可以避免此类神秘错误。

关于linux - GNU:访问损坏的共享库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29332156/

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