程式設計師的自我修養 - Ch.2

一早出門,想在捷運上面看點東西
於是隨手就拿了這本「程式設計師的自我修養」
是剛上班滿懷雄心壯志時買的書

它是和「一支鉛筆就能畫」、「PHP & MySQL 實戰手冊」一起買的書
但是因為內容比較艱澀難懂,一直放在書架上沒有進度
只有剛買來時看了第一章,
或許是這兩三年對 Linux 操作變得熟悉,這次來看好像沒有以前那麼難懂了

今天念的是 Ch.2,編譯和連結:

1. 介紹從 source code 到可執行檔的一系列過程
2. 把詞法分析、語法分析、語意分析、最佳化都用簡單例子說明了一遍
3. 因為程式碼越來越多行,加上 relocation 的需求,很自然的 programmer 發展了模組化的概念,將程式碼按照功能、性質組織在一起,最後再用連結器,產生一份完整的可執行檔

最後還喵了一下 Ch.12 系統呼叫,大致上就是應用程式如何透過系統的 API,切換權限模式、存取系統資源(記憶體、檔案、硬體)。

看到 Windows 沒有開放系統呼叫的 API,而是多疊一層 Win32 API 感到有點多餘,後來作者解釋,這是處理系統相容性才釋懷。

最後有個冷知識:用現代的電腦,玩某些早期的 DOS 遊戲,會變得異常的快,之前用 DOSBOX 就有遇到,原來是它用了 for-loop 來模擬計時器,而不是透過系統呼叫來計時。

接下來也針對有興趣的章節翻翻看看吧。

留言

這個網誌中的熱門文章

[開箱] 老公寓的舒適親子大空間

論文筆記:Data Distillation: Towards Omni-Supervised Learning

平淡的結紮經驗談