ucore_lab1_练习一
(本示例中,如果输入行前面出现美元符号($),表示这是命令行提示符。紧接其后的是命令行,可以通过控制台输入命令)
理解通过make生成执行文件的过程
通过静态分析代码来了解:
- 操作系统镜像文件ucore.img是如何一步一步生成的?(需要比较详细地解释Makefile中每一条相关命令和命令参数的含义,以及说明命令导致的结果)
- 一个被系统认为是符合规范的硬盘主引导扇区的特征是什么?
注:前面为一些基础知识,看题目答案可直接到:二、make生成过程分析 中的 第2点 和 第3点
一、预备知识
关于编译和链接:程序编译的过程
对于在没有汇编知识的时候有些不理解,所以写一下
类似于C、C++,有一个源文件,在Windows下也就是 .asm 文件。
编译过程首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(link),也就是把==.obj== 文件进行链接。
关于gcc:
GCC 编译器是 Linux 下默认的 C/C++ 编译器,大部分 Linux 发行版中都是默认安装的。GCC 编译器通常以 Linux 命令的形式在终端(Shell)中使用,它有很多选项。
GCC 仅仅是一个编译器,没有界面,必须在命令行模式下使用。通过gcc命令就可以将源文件编译成可执行文件。
GCC 既可以一次性完成C