裸机开发报错: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代码前自行完成配置


 

你可能感兴趣的:(裸机开发报错:undefined reference to `__aeabi_unwind_cpp_pr0')