社区
Linux/Unix社区
帖子详情
求助:有main(),却提示cannot find entry symbol _start
漫步星辰575654643
2011-12-06 12:35:14
gcc 不会自已设起始地址吗?难道还要加什么选项?
...全文
711
4
打赏
收藏
求助:有main(),却提示cannot find entry symbol _start
gcc 不会自已设起始地址吗?难道还要加什么选项?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
漫步星辰575654643
2011-12-06
打赏
举报
回复
原来我生成动态库去了,加了-SHARED -FPIC
xunxun
2011-12-06
打赏
举报
回复
写出你的命令行
尽量不使用ld显式链接(除非你对链接相当了解),而是使用gcc的wrapper
李迟
2011-12-06
打赏
举报
回复
接1楼,如果代码没错,很可能是命令使用出错造成的。
写一个简单的hello world,保存为hello.c,使用:
gcc hello.c
就可以生成一个可以执行的a.out文件了。
我遇到这种错误主要是使用ld来链接。
无知者无谓
2011-12-06
打赏
举报
回复
gcc默认入口就是main函数,出现这种问题只能是你代码错了。
ld: warning: cannot find
entry
symbol
_s
tar
t; defaulting to 00000000004002a0
本文解释了为什么C程序以
main
作为主函数而汇编程序则以s
tar
t为入口点的原因,并提供了解决方案,建议使用gcc进行链接。
eclispe build stm32工程报错 ld.exe: warning: cannot find
entry
symbol
_s
tar
t; defaulting to 08000028
本文介绍了解决C/C++编译过程中遇到的一个常见问题:编译器未能找到源文件
main
.c及其启动文件s
tar
tup_stm32f4xx.S的具体步骤。通过正确配置Paths and
Symbol
s设置中的Source Location,确保文件路径被正确识别。
ld: warning: cannot find
entry
symbol
_s
tar
t; defaulting to 00000000080481d8
本文详细记录了通过GCC编译器将C源代码转换为可执行文件的过程,并观察了不同阶段程序变量地址的变化情况。此外,还分析了一个关于_s
tar
t符号缺失的警告信息及其实际影响。
鸿蒙PC应用集成SQLite指南:从编译到NAPI踩坑实战
本文详细介绍了在鸿蒙PC平台(SDK 6.1.0)上集成SQLite数据库的完整流程,涵盖工程搭建、静态库部署、CMake配置、NAPI桥接(dbOpen/dbClose/dbExec等核心函数)、类型声明与UI调用,并重点剖析五大典型坑点:CMake链接顺序、NAPI字符串双调用、ABI架构匹配、BiSheng与Clang ABI差异、指针伪造导致UAF。所有内容面向C/C++原生开发与ArkTS协同场景。
GCC/Clang CRT 组件深度解析:crt1.o、crti.o、crtn.o 等 6 个文件的作用与链接顺序
本文深入解析GCC/Clang工具链中6个核心CRT对象文件(crt1.o/Scrt1.o、crti.o/crtn.o、crtbegin.o/crtend.o)的功能与协作机制,涵盖程序入口点实现、.init/.fini段初始化、C++全局构造/析构函数管理、位置无关代码支持(PIC/PIE)、静态与动态链接差异,以及链接顺序对正确性的影响。内容聚焦ELF格式、链接器行为、构造函数数组(.ctors/.dtors)、ASLR安全机制及调试验证方法。
Linux/Unix社区
23,224
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章