Linux GNU:访问损坏的共享库时出错

Linux GNU:访问损坏的共享库时出错,linux,assembly,linker,x86,gnu,Linux,Assembly,Linker,X86,Gnu,这里有一些非常简单的东西: 我的代码(p1.s): 我用于组合和链接文件的命令: 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 提前谢谢 有人能给我解释一下为什么这样不行吗?提前感谢!:) 如果您使用

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

我的代码(p1.s):

我用于组合和链接文件的命令:

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--32
ld-melf_i386
。另外请注意,如果您想使用libc,您应该使用入口点
main
而不是
\u start
并使用
gcc-m32
进行编译和链接,这样一切都可以正确设置,避免出现这种神秘的错误。

嘿,我已经尝试过了(顺便说一句,是的,我使用的是64位系统):ld-melf_i386-dynamic linker/lib/ld linux.so.2 p1.o-l c但是现在我得到了一个错误:ld:cannot find-lc有什么问题吗?您没有安装32位c库。
bash ./p1 : Accessing a corrupted shared library.