&引用;分段故障(堆芯倾倒)“;在显式glibc链接之后。

&引用;分段故障(堆芯倾倒)“;在显式glibc链接之后。,c,gcc,linker,glibc,C,Gcc,Linker,Glibc,由于某些原因,我不得不手动链接glibc。我正在尝试运行以下程序: #include <stdio.h> int _start(){ printf("ABCDE"); return 0; } 不幸的是,在运行/main之后,我只得到了 分段故障(堆芯转储) 有人能告诉mi我做错了什么吗?退出(0)应该可以做到这一点 然而,你想要实现什么? 您是否试图覆盖rt启动?因为您的id是。您必须手动链接-lc,因为-nostlib会禁用它。非常感谢!我必须编写一个应用程序,该

由于某些原因,我不得不手动链接glibc。我正在尝试运行以下程序:

#include <stdio.h>
int _start(){
    printf("ABCDE");
    return 0;
}
不幸的是,在运行
/main
之后,我只得到了 分段故障(堆芯转储)

有人能告诉mi我做错了什么吗?

退出(0)应该可以做到这一点

然而,你想要实现什么?

您是否试图覆盖rt启动?因为您的id是。您必须手动链接
-lc
,因为
-nostlib
会禁用它。非常感谢!我必须编写一个应用程序,该应用程序将运行在一个旧内核和旧glibc版本上。我已经找到了链接是否能正常工作。@nkdm您在这里尝试的方法不太可能在旧内核上工作,一旦您的程序变得稍微复杂一些。您可能应该阅读以下答案:我有一个动态链接glibc2.15的编译器,但在目标系统上,我有一个不兼容的glibc2.4。我认为使用'--static'选项链接会占用大量内存,但幸运的是它是可以接受的。
gcc -c main.c -o main.o
gcc -L/lib/x86_64-linux-gnu/ -nostdlib main.o -o main -lc