找不到条目符号_start

时间:2012-06-12 10:47:34

标签: gcc

我在gcc上编译的代码是错误Cannot find entry symbol _start defaulting to 00000。谁能告诉我为什么以及如何纠正它?

命令行为arm-none-eabi-gcc -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -ftree-vectorize -mfloat-abi=softfp file path,目标平台为a-8 sitara cortex处理器。

2 个答案:

答案 0 :(得分:6)

编译器抛出上述错误的唯一原因是操作系统生成的用于运行代码的启动代码(_start函数)无法找到默认或注册的函数main。所以要么你可以使用_start函数而不是main函数,但是编译命令应该是gcc -nostartfiles filename.c但是使用_start有很多异常,所以最好使用main代替。

答案 1 :(得分:4)

-none-部分意味着您的工具链不是为特定的操作系统构建的,因此您必须定义_start入口点。对于为特定操作系统构建的非裸机工具链,_start由标准库提供,在完成所有设置后将按顺序调用main。