gpt4 book ai didi

c - 带有链接器选项 e 的 gcc 出现段错误

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

这是我的程序:

void f(){
printf("here\n");
}
void main(){
}

我用 gcc -ef *.c 编译了它。当我运行它时,它给出以下输出:

here
Segmentation fault (core dumped)

回溯显示:

#0  0x0000000000000001 in ?? ()
#1 0x00007fffffffdf9e in ?? ()
#2 0x0000000000000000 in ?? ()

这里有什么问题?

最佳答案

问题是您要更改可执行文件的默认入口点,通常是 _start_start 为您做一些事情:设置 C 运行时环境、获取 argv 和调用 libc_start_main,当 main() 返回(以及许多其他内容)。您的程序需要调用 exit() 才能正确退出进程...否则,您将无处可去。

仅供引用,您可以在 glibc here 中找到 exit() 调用.

关于c - 带有链接器选项 e 的 gcc 出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34380100/

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