30天自制操作系统(day6)

第6天:分割编译与中断处理

1、内容1:分割源文件

因为之前的bookpack.c程序已经很长了,因此就将其进行切割成几个部分,分别是graphic.c、dsctbl.c和bootpack.c三个部分。这三个部分依次是关于画图的处理、关于GDT、IDT等descriptor table的处理以及其他部分的处理。
在这里插入图片描述
但是如果graphic.c也想使用naskfunc.nas函数的话,必须加上void io_out8(int port,int data)函数声明。虽然这些都已经写在了bootpack.c函数中了,但是在编译器编译graphic.c时,程序是不知道有bootpack.c的存在的。
既然修改了bootpack.c文件,那么也需要根据其来修改我们的Makefile文件,相应的流程为:
在这里插入图片描述
修改之后的文件夹内容为:
在这里插入图片描述
其中makefile文件的内容增加了如下部分:
在这里插入图片描述

2、内容2:整理Makefile

虽然之前bootpack.c文件已经分割好了,变得简洁了许多,但是相比较而言,Makefile文件却变得十分繁琐亢长。因为有些指令都做的是相同的事情,但如果每次添加源文件都需要增加很多类似的编译规则就会变得很麻烦,因此需要利用一般规则,将雷同的独立的文件生成规则,归纳为一般规则。
在这里插入图片描述
在这里插入图片描述
将以上6个独立的文件生成规则,归纳为两个一般的规则。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值