學習如何編寫C和C++代碼僅僅是個開始。如果你希望從事系統底層開發工作,或想深入理解作業系統、編譯器及它們之間內在的關聯,成為程式設計專家,那麼就必須充分瞭解編譯器生成的二進位檔案(目的檔案、靜態程式庫、動態庫和可執行檔)的作用和結構。開源已經在許多方面從根本上改變了軟體的原有面貌,越來越多的系統開始採用或集成開原始程式碼,因此對每位開發人員來說,學習和理解這些底層技術也變得十分重要。
本書深入淺出地講解了構建過程(編譯、連結)中的細節,從多個角度展示了程式與庫檔或代碼的集成方法,提出了面向代碼重用和系統集成的軟體架構設計方法,同時展示了系統開發過程中疑難問題的解決方案。另外,本書也是一本C和C++二進位檔案方面的軟體工程指南,涵蓋中級和專家級程式師所需的各方面內容和資訊。
通過閱讀本書,你將學到:
*構建過程(編譯和連結)與裝載過程的內部原理。
*靜態程式庫、動態庫和可執行檔的內部工作機制。
*面向代碼重用和系統集成的軟體架構設計方法。
*編譯、連結與運行時問題的排查技巧。
*在Linux和Windows平臺下利用二進位檔案分析工具進行分析的方法。