1、LDFLAGS =-s -Ttext $(ENTRYPOINT) –Map mat.txt在链接的flag里面,添加map,生成全局变量及函数的地址。用于b address断点调试
2、当编译是出现:undefined reference to `__stack_chk_fail`时,需要在CFLAGS里添加-fno-stack-protector。
以后继续添加!
3、GCC中提供了一个参数-M,可以自动生成依懒关系,如
gcc -M kernel/start.c -I include
则输出依赖的头文件。
4、在<<orange's一个操作系统的实现>>中,直接运行bochs就退出,是因为bochsrc配置没有配好:
vgaromimage: /usr/share/vgabios/vgabios.bin
修改成:
vgaromimage: file=/usr/share/vgabios/vgabios.bin
如果bochs装在了/usr/local下
romimage: file=/usr/share/bochs/BIOS-bochs-latest
修改成:
romimage: file=/usr/local/share/bochs/BIOS-bochs-latest
本文介绍了GCC编译过程中的几个实用技巧,包括如何使用LDFLAGS生成调试用的地图文件,解决未定义引用错误的方法,以及利用GCC参数自动生成依赖关系。此外,还详细说明了Bochs模拟器配置中常见的问题及其解决方案。
2452

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



