裸机开发报错:undefined reference to `__aeabi_unwind_cpp_pr0'


解决办法

    arm-none-linux-gnueabi-gcc加上-nostdlib选项

-nostdlib

        不连接系统标准启动文件和标准库文件,只把指定的文件传递给连接器        

                不加该选项,编译器默认会添加启动代码和库文件(裸机开发用不了故报错)

        该选项常用于编译内核、bootloader等程序,它们不需要启动文件、标准库文件

                裸机开发用不了 ,也不需要


操作系统

    C程序执行第一条指令不是main函数

    C编译器默认会在C程序之前增加部分代码(C运行环境配置)

          例:crt1.o、crti.o、crtend.o等

                标准库文件、设置C程序堆栈等

                以上增加部分代码依赖于操作系统,裸机无法执行

裸机开发

    增加-nostdlib选项,去掉默认添加的启动代码和库文件

    裸机开发中不依赖操作系统,C运行环境需在启动C代码前自行完成配置


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值