计算机系统基础(四):编程与调试实践
计算机系统基础(四):编程与调试实践
2万+ 人选课
更新日期:2026/04/28
开课时间2026/03/02 - 2026/07/15
课程周期20 周
开课状态开课中
每周学时-
课程简介

本课程针对计算机系统基础(一)、(二)、(三)前导理论课程,围绕系列课程培养计算机系统能力的总体目标,设计了与前导理论课相匹配的编程与调试方面的实践内容,针对理论课中的知识点并结合具体的程序及其机器级代码,展现程序开发过程中的各个步骤及实例,帮助学习者深入理解基础概念,并通过具体实践与练习增强编程和调试能力,提高综合运用计算机系统基础知识分析问题和解决问题的能力。本课程基于IA-32平台上的Linux系统和C、汇编语言及GCC、GDB等编程与调试工具,针对数据与程序的机器级表示、链接、性能分析与优化等课程知识及其实际应用进行讲解与实践,并综合采用测验、实验等多种形式对课程学习情况进行评估。

课程大纲
实验与开发环境的安装和使用
1.1 从程序员角度认识系统
1.2 虚拟机、Linux及其上实验环境的安装
1.3 基本实验工具的使用
C语言编程实践
2.1 数据的位运算操作
2.2 浮点数的精度问题
2.3 Cache友好代码
2.4 信号处理函数
程序调试实践:数据的存储与运算
3.1 真值与机器数
3.2 数据的宽度与存储
3.3 数据类型的转换
3.4 整数加减运算
3.5 浮点数的表示和运算
程序调试实践:程序的机器级表示
4.1 传送指令
4.2 加减运算指令
4.3 整数乘法指令
4.4 控制转移指令
4.5 栈和过程调用
4.6 缓冲区溢出
程序调试实践:二进制程序分析与逆向工程
5.1 二进制炸弹实验:概述
5.2 二进制炸弹实验:字符串比较
5.3 二进制炸弹实验:浮点数表示
5.4 二进制炸弹实验:课后实验
程序调试实践:缓冲区溢出攻击
6.1 缓冲区溢出攻击实验:概述
6.2 缓冲区溢出攻击实验:目标程序与辅助工具
6.3 缓冲区溢出攻击实验:Level 0
6.4 缓冲区溢出攻击实验:Level 1及课后实验
程序调试实践:程序链接与目标文件
7.1 链接与ELF实验:概述
7.2 链接与ELF实验:静态数据与ELF数据节
7.3 链接与ELF实验:指令与ELF代码节及课后实验
程序性能分析与优化
8.1 程序性能分析与优化
8.2 程序性能分析工具
App 下载
关注我们