程式設計師的自我修養:連結、載入、程式庫這本書之前ㄚ琪曾借來翻過,不過好像沒有分享一下,今天補充給各位看看
內容簡介
本書主要介紹系統軟體的執行機制和原理:應用程式在Windows和Linux編譯、連結和執行所發生的各種事項,包括:如何保存程式碼指令、程式庫檔案如何與應用程式碼靜態連結、應用程式如何載入記憶體並開始執行、如何實作動態連結、C/C++執行期程式庫的工作原理,以及如何呼叫作業系統提供的系統服務。每個技術專題都配備了大量圖、表和程式碼實例,力求將複雜的機制以簡潔的形式表達出來。本書最後還提供了一個小巧且跨平臺的C/C++執行期程式庫MiniCRT,綜合展示了與執行期程式庫相關的各種技術。
這是一本深入闡述連結、載入和程式庫等問題的優秀圖書,讀來讓人愉悅,你從中可以清晰地瞭解程序的前世今生,徹底理解敲入的程式碼如何變成程序在系統中執行。通讀本書不管對於開發還是troubleshooting都會很有幫助。建議每一位希望從事系統開發、或希望更實務地理解作業系統和編譯器、或不滿足於只寫程式碼的優秀程式員都該有這樣一本書。–鄒飛,趨勢科技(中國)研發中心 資深軟體工程師
本書從大處著眼、小處著手,以通俗易懂的語言,深入淺出地對系統軟體的底層行程機制進行條分縷析,正合藥山禪師所謂”高高山頂立,深深海底行”。循著作者的思緒一路走來,有如醍醐灌頂,暢快淋漓。非常高興有預覽此書初稿的寶貴機會,我在瀏覽書稿和查核相關資料的過程中,學到了很多以前未知或知之不深的內容。–馮亮,阿里巴巴(中國)網路技術有限公司運維部 系統架構師
目錄
第一篇 簡介
第1章 溫故而知新
第二篇 靜態鏈結
第2章 編譯和鏈結
第3章 目的檔裡有什麼
第4章 靜態連結
第5章 Windows PE/COFF
第三篇 裝載與動態連結
第6章 可執行檔的裝載與進程
第7章 動態連結
第8章 Linux共用程式庫
第9章 Windows的動態連結
第四篇 程式庫與執行期程式庫
第10章 記憶體
第11章 執行期程式庫
第12章 系統呼叫與API
第13章 實作執行期程式庫
附錄A
這本書應該可以好好地閱讀,看我能不能克服GTK 3在Windows裡的編譯。推薦給大家。