有些场景下编译的程序是不能依赖OS和标准的C库的,并且需要C和汇编混合编译,如bootloader程序,就需要制定参数-nostdlib,这样的Makefile如下所示:
all:
arm-linux-gcc -O2 -Wall -nostdlib -march=armv4 -Wl,-T,ipl.lds uart.c ipl.c nfc.c nand.c sha1.c arm.s -o ipl.exe
arm-linux-objcopy -Obinary ipl.exe ipl.bin
arm-linux-gcc -O2 -Wall -nostdlib -march=armv4 -Wl,-T,ipl.lds uart.c ipl.c nfc.c nand.c sha1.c arm.s -o ipl.exe
arm-linux-objcopy -Obinary ipl.exe ipl.bin
clean:
rm -rf ipl.exe ipl.bin
rm -rf ipl.exe ipl.bin
本文介绍了一种特定场景下的编译配置方法,该方法适用于不依赖操作系统和标准C库的程序,例如Bootloader。通过使用-nostdlib参数并结合具体的链接脚本,可以实现C与汇编代码的混合编译。
1107

被折叠的 条评论
为什么被折叠?



