本课程为哈尔滨工业大学计算机专业基础课之一,旨在通过动手实践帮助学生理解计算机系统的基本原理和运作机制。
哈尔滨工业大学(HIT)计算机系统实验一是一次为计算机科学与技术专业学生设计的实践教学活动,旨在帮助他们深入理解计算机系统的基础概念和技术。该实验涵盖了编程语言、编译器、链接器以及执行过程等多个核心知识点。
1. **编程语言**:在本实验中使用的`.c`文件(例如`showbyte.c`和`g.c`)是由C语言编写而成的源代码。作为一种中级语言,C既具备高级语言的抽象性和易读性,又接近于机器指令,便于硬件控制的学习者可以借此理解计算机底层的工作原理。
2. **编译器**:`.c`文件需要通过如GCC(GNU Compiler Collection)等编译器转换成能够被计算机执行的二进制代码。这一过程涉及将高级语言代码转化为特定架构下的机器语言。
3. **预处理器**:实验中可能涉及到名为`hello.i`的文件,这是经过预处理后的源代码形式。在正式编译之前,预处理器会处理宏定义和包含头文件等指令,为后续步骤做准备。
4. **汇编器**:编译后生成的一个中间产物通常是汇编语言的形式(例如`hello.o`)。汇编语言是一种与机器指令直接对应的低级语言。通过使用汇编器可以将高级编程代码转换成这种形式的代码。
5. **链接器**:最终得到的可执行文件,如`hello.out`,是经过链接器处理的结果。该工具会合并多个目标文件(`.o`文件),并解决程序中引用到外部符号的问题,以生成一个完整的可运行程序。
6. **sizeof.c**: 文件可能包含对C语言中的`sizeof`运算符的使用案例研究,用于确定数据类型或变量在内存中占用的空间大小。这对于理解内存管理和进行性能优化非常重要。
7. **实验报告**:学生需要提交一份关于他们的观察和分析结果的文档(例如`HITICS-lab1实验报告.doc`),该文件总结了整个实验的过程、目标以及发现,体现了理论与实践结合的重要性。
8. **执行过程**:通过涵盖从源代码到最终程序运行的所有阶段,包括编译、链接及运行等步骤,学生能够更好地理解软件开发的全过程,并加深对计算机系统的认识。这对于后续学习操作系统和编译原理等相关课程至关重要。