gpt4 book ai didi

c - ld : _start not found defaulting to

转载 作者:太空宇宙 更新时间:2023-11-04 01:35:50 28 4
gpt4 key购买 nike

您好,我制作了一个简单的 hello world C 程序,我正在这样编译它:

gcc -c hello.c
ld hello.o -lc -o out

我从 ld 收到警告:ld : _start not found defaulting to ....

我执行了 objdump -D hello.o,但在输出中找不到 _start 例程。
我在这里错过了什么?

最佳答案

你错过了 crt* 的东西,如果你用 gcc -v 链接你会看到这些东西:crt1.o, crtend.o, crtn.o.查看 gcc 如何调用 collect2(通过 gcc -v 可见)并对 ld 使用相同的选项。

main 函数不是可执行入口点:标准库的一些初始化在 main 之前完成(因为否则不可能或不合逻辑)。真正的入口点(默认情况下为 _start)位于 crt1.o 中,它始终链接到您的可执行文件中。

关于c - ld : _start not found defaulting to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14558977/

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