【哈尔滨工业大学(HIT)计算机系统实验一】是针对计算机科学与技术专业学生设计的一次实践教学活动,旨在让学生深入理解计算机系统的基础概念和技术。实验围绕着编程语言、编译器、链接器以及执行过程等多个核心知识点展开。下面将详细阐述这些知识点。
1. **编程语言**:实验中的`.c`文件,如`showbyte.c`、`g.c`等,是用C语言编写的源代码。C语言是一种中级语言,它既具有高级语言的抽象和易读性,又接近机器语言,便于硬件控制。学习C语言有助于理解计算机底层工作原理。
2. **编译器**:`.c`文件需要通过编译器转换成机器可执行的二进制代码。在这个过程中,`g1.c`、`g2.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. **执行过程**:实验中可能会涵盖程序的编译、链接和运行过程,帮助学生理解从源代码到运行程序的整个生命周期,深化对计算机系统的理解。
通过这个实验,学生们不仅能掌握编程语言的基本使用,还能了解计算机如何将高级语言转换为机器指令,以及程序从源代码到可执行文件的全过程,对计算机系统有更直观的认识。这对于后续学习操作系统、编译原理等高级课程至关重要。