编译原理
文章平均质量分 62
Black_Dark_Cat
这个作者很懒,什么都没留下…
展开
-
关于链接脚本的使用以及可重定位文件结构简单介绍
text用来存放代码段内容,.data存放初始化了的全局变量和静态变量,.rodata存放只读内容,如const修饰的常量,需要注意的是在.data和.rodata之间还有一个.bss段,用来存放未初始化的全局变量和静态变量以及初始化为零的全局变量和静态变量,但它在文件中不占空间只是占位,会在加载执行时内存自动为它分配空间。接下来还是回到链接脚本的内容,首先需要了解链接脚本的一些语法。其他部分不难理解,就是英语阅读,比较难的是Magic部分,Magic是魔数的意思,大体每一字节的意义如下。原创 2024-02-23 12:19:31 · 424 阅读 · 1 评论 -
关于makefile的几个常用函数及静态模式
依赖模式则为需要生成的.o文件依赖的所有.S文件(不包含路径)因为前面设置了VPATH,所以makefile会自动帮我们搜寻,而之所以要在.o文件前加路径,是因为我们想指定生成.o文件后的存放路径。$(foreach dir, $(SRCDIRS), $(wildcard $(dir)/*.S))代表找到源文件路径中的所有.s文件并以空格隔开组成新的字串。$(patsubst %, -I %, $(INCDIRS))代表找出$(INCDIRS)中的单词并在前面加-I。汇编.s文件编译的.o文件名。原创 2024-02-23 11:15:56 · 439 阅读 · 1 评论