首页 > 其他类型 > 这个学霸还在叠数值 > 第20章 考验

第20章 考验(1/2)

目录
好书推荐: 渴望刺激的旗袍女侠会为了享受人体改造故意放水被擒吗~ 顶流明星老妈穿黑丝回村,给我守村人发小看傻了 丰乳肥臀温婉慈母被绿奴亲儿子献祭给底层调教师恶堕为缅北穿孔孕母肉便器 D奶爆臀精英人妻被黑人群体驯化为摇尾乞精的媚黑母畜 清纯写真女王人妻偶像被胁迫调教成主动求种的专属精液厕所——NTL身心完全沦陷 隐性暗恋(1V1,校园H) 和金发大洋马 清冷师尊沦为魔道肉便器,我该怎么办 末世:寄生在校花的神之宫 少女与犬

【考验对象:丹尼斯·里奇。当前水平——??】

【考验形式:情景模擬】

【考验內容:考查对c语言的使用能力、理解水平】

【注意——胜,则破境;败,则退回当前境界大圆满,需重新积累】

挥去面板,眼前的画面才逐渐清晰起来。

房间不大,天花板的日光灯管有些昏暗,照不清墙上掛著几张手写的草图。

李林抬眼望去。

一台pdp-11小型机占据了就摆在房间中央的桌子上,机箱侧盖被卸了下来,露出里面密密麻麻的线路板。

unix,现代作业系统的奠基者,就在这里诞生。

同样会在今天诞生的,还有作业系统的原初圣言、资讯时代的拉丁语、程式设计师的白月光……

咳咳,什么叫这里放不下这么多语言。

总之,李林此行就是为此而来——

c语言。

他深吸一口气,终於直视面前的男人,也是这次考验的“考官。”

三十岁出头、深色头髮有些凌乱,依旧格子衬衫、依旧黑框眼镜,也许是程式设计师的刻板印象来源也说不定。

丹尼斯·里奇,c语言之父。

他一只手撑著桌面,另一只手夹著笔,眉头紧锁。

本书首发 101 看书网书库广,????????????.??????任你选 ,提供给你无错章节,无乱序章节的阅读体验

和上次一样。

“孩子,”

注意到李林的瞬间,里奇开口了,嗓音有些沙哑,

“我需要为內核构建一个更可靠的內存分配器,来管理所有內核对象。现在的版本太脆弱了,一碰到复杂的操作就崩溃。”

“说来惭愧,即便是我,也没法判断亲手释放“指针”这个怪物,究竟是对是错。有时候它太危险,恨不得让我把它封装进盒子里;但有时候,它带来的高效又是如此美妙,总让我想起我为自己定下的那句誓言——”

“keep it simple stupid。”

“保持简单吧,孩子。”

他说著,把一张几乎画满的草图推到李林面前,眼里有疲惫,也有审视,

“我需要你提出一个方案,一个简单的方案。”

李林不是第一次听到这个问题了。

上一次站在这里的时候,他束手无策。

面对里奇那双深邃的眼睛,他连第一步都没能迈出去。

那时候他的脑子里还只有基础的內存分配。

malloc、free、栈上分配、堆上分配……他连从哪里开始都不知道。

所以他失败了。

这一次不一样了。

他点点头,平静地接过了这个委託。

忽然,面前的空间展开,化成一张巨大的、向四面八方无尽延伸的方格纸。

每一个小格子代表一个內存单元,被占用的、空閒的都一一陈列於此。

它们都在等待创造者的规划安排。

前提是你能在它们服从秩序之前,保证自己不被混乱击穿大脑。

“这就是你的画布,孩子。b语言没能征服它,我们来试试。”

里奇的声音从身后的虚空中传来,李林定了定心神。

动手。

首先要解决“我是谁”的问题。

每一个分配出去的內存块,它必须知道自己多大、属於谁、下一个是谁。

李林开始用struct定义內存块的头部信息,包括块的大小、是否空閒和炼表指针。

他在方格纸上画下第一道箭头,从一块內存的头部指向下一块,再指向下一块,把那些散落的格子串成一条链。

由此,他便实现了最基础的alloc和free。

遍歷炼表,找到第一块足够大的空閒块,分配出去,释放时標记为空閒,和相邻的空閒块合併。

方格纸上,逐渐开始有了秩序。

“太慢了。”

里奇的声音再次响起,这次带著毫不掩饰的失望,

“每次分配都要从头遍歷,这在系统內核里根本不能用。你这个版本比那些老古董手写的汇编还要差。”

李林盯著方格纸上那条长长的炼表。

本章未完,点击下一页继续阅读。

目录
新书推荐: 下乡北大荒,从拯救资本家小姐开始 糟了!我的眼睛进化控制不住了 上错婚车,闪婚千亿美女总裁 透视:我靠捡漏成资本之王 开局抡出音速钢卷,校花被吓哭了 重生冷宫当太监,开局签到阴阳功 北洋大总统 驱魔美利坚,从下水道开始 无限恐怖:以偏转态之资拯救多元 重生72:从暴打恶亲开始!
返回顶部