系统级程序设计
ancientmoondjay
这个作者很懒,什么都没留下…
展开
-
实验一——函数指针
这是系统级程序设计课程的第一个实验报告。 一、场景描述用函数指针数组存放各种排序算法,通过指针去调用算法进行排序。 在本程序中,一共定义了4种排序算法——选择排序、插入排序、希尔排序、归并排序(当然后期还能加入更多的排序算法,比如冒泡排序) 。定义了一个通用排序接口void sort(void (sortAlgorithm)(int,int),int *array, int n) ,在主程序中由原创 2016-10-23 20:48:35 · 665 阅读 · 0 评论 -
实验二 —— 位运算
本次实验是通过限制的操作符来实现位运算,有助于进一步理解数据位级的表示和运算。10个小函数的具体实现如下:/* * bitAnd - x&y using only ~ and | * Example: bitAnd(6, 5) = 4 * Legal ops: ~ | * Max ops: 8 * Rating: 1 */ int bitAnd(int x, int原创 2016-11-17 08:45:52 · 3064 阅读 · 0 评论 -
实验三——Malloc Lab
一、数据结构 定义一个结构体,在每块请求的内存前面是一个结构体+一个fence。结构体如下: 占用16个字节。又因为一个fence是4个字节,所以在每块有效内存前面是20字节,在有效内存后面是4字节的fence。所以每块完整的经过封闭的内存是24+size字节。 又定义了一个链表结点,用来存储每一块已分配的内存块,如下: 二、宏 定义了5个宏,如下: 三、辅助函数 定义了5个辅助函数,原创 2016-12-13 23:42:24 · 5824 阅读 · 3 评论