【考验对象:丹尼斯·里奇。当前水平——??】
【考验形式:情景模擬】
【考验內容:考查对c语言的使用能力、理解水平】
【注意——胜,则破境;败,则退回当前境界大圆满,需重新积累】
挥去面板,眼前的画面才逐渐清晰起来。
房间不大,天花板的日光灯管有些昏暗,照不清墙上掛著几张手写的草图。
李林抬眼望去。
一台pdp-11小型机占据了就摆在房间中央的桌子上,机箱侧盖被卸了下来,露出里面密密麻麻的线路板。
unix,现代作业系统的奠基者,就在这里诞生。
同样会在今天诞生的,还有作业系统的原初圣言、资讯时代的拉丁语、程式设计师的白月光……
咳咳,什么叫这里放不下这么多语言。
总之,李林此行就是为此而来——
c语言。
他深吸一口气,终於直视面前的男人,也是这次考验的“考官。”
三十岁出头、深色头髮有些凌乱,依旧格子衬衫、依旧黑框眼镜,也许是程式设计师的刻板印象来源也说不定。
丹尼斯·里奇,c语言之父。
他一只手撑著桌面,另一只手夹著笔,眉头紧锁。
本书首发101看书网书库广,????????????。??????任你选,提供给你无错章节,无乱序章节的阅读体验
和上次一样。
“孩子,”
注意到李林的瞬间,里奇开口了,嗓音有些沙哑,
“我需要为內核构建一个更可靠的內存分配器,来管理所有內核对象。现在的版本太脆弱了,一碰到复杂的操作就崩溃。”
“说来惭愧,即便是我,也没法判断亲手释放“指针”这个怪物,究竟是对是错。有时候它太危险,恨不得让我把它封装进盒子里;但有时候,它带来的高效又是如此美妙,总让我想起我为自己定下的那句誓言——”
“keepitsimplestupid。”
“保持简单吧,孩子。”
他说著,把一张几乎画满的草图推到李林面前,眼里有疲惫,也有审视,
“我需要你提出一个方案,一个简单的方案。”
李林不是第一次听到这个问题了。
上一次站在这里的时候,他束手无策。
面对里奇那双深邃的眼睛,他连第一步都没能迈出去。
那时候他的脑子里还只有基础的內存分配。
malloc、free、栈上分配、堆上分配……他连从哪里开始都不知道。
所以他失败了。
这一次不一样了。
他点点头,平静地接过了这个委託。