任务:阅读实验一makefile 搞清楚ucore.img是如何构建的
[email protected] $< $^ 这三个变量分别是什么意思 https://blog.csdn.net/YEYUANGEN/article/details/36898505
=和:=的区别 https://stackoverflow.com/questions/448910/what-is-the-difference-between-the-gnu-makefile-variable-assignments-a
dd命令 http://www.runoob.com/linux/linux-comm-dd.html
call命令
通配符
$(call create_target,ucore.img)不懂,create_target是内置函数?
makefile教程:https://blog.csdn.net/special00/article/details/51084619 包含call 函数调用的说明
找到一个TsingHua大佬在github的实验:https://github.com/dongyp13/os_lab/blob/master/labcodes/lab1/lab1-%E8%91%A3%E8%83%A4%E8%93%AC.md
GCC的-fno-builtin选项 https://blog.csdn.net/baiyu9821179/article/details/73007124
-gstabs
此选项以stabs格式声称调试信息,但是不包括gdb调试信息.
-gstabs+
此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息.
-ggdb
此选项将尽可能的生成gdb的可以使用的调试信息.
GCC选项-g和-ggdb的区别 https://my.oschina.net/moooofly/blog/493859
Linux 中的 cc 命令 https://blog.csdn.net/candy060403/article/details/7519370
-nostdinc不要在标准系统目录中寻找头文件.只搜索`-I‘选项指定的目录(以及当前目录,如果合适).
结合使用`-nostdinc‘和`-I-‘选项,你可以把包含文件搜索限制在显式指定的目录.
GCC 4.1 中三个与堆栈保护有关的编译选项
-fstack-protector:
启用堆栈保护,不过只为局部变量中含有 char 数组的函数插入保护代码。
-fstack-protector-all:
启用堆栈保护,为所有函数插入保护代码。
-fno-stack-protector:
禁用堆栈保护。
有关堆栈保护内容 https://www.ibm.com/developerworks/cn/linux/l-cn-gccstack/index.html
-Idir
dir
是头文件所在的目录
关于fno-builtin和fno-builtin-function编译选项
https://blog.csdn.net/SstudentT/article/details/52910696
原文地址:https://www.cnblogs.com/linkzijun/p/9249743.html