購物比價找書網找車網
FindBook  
 有 1 項符合

高級C/C++編譯技術(典藏版)

的圖書
高級C/C++編譯技術(典藏版) 高級C/C++編譯技術(典藏版)

作者:(米蘭·斯特瓦諾維奇 / 譯者:盧譽聲 
出版社:機械工業出版社
出版日期:2023-01-01
語言:簡體中文   規格:平裝 / 266頁 / 16k/ 19 x 26 x 1.33 cm / 普通級/ 單色印刷 / 1-1
圖書選購
型式價格供應商所屬目錄
 
$ 465
博客來 博客來
C/C++
圖書介紹 - 資料來源:博客來   評分:
圖書名稱:高級C/C++編譯技術(典藏版)

內容簡介

學習如何編寫C和C++代碼僅僅是個開始。如果你希望從事系統底層開發工作,或想深入理解作業系統、編譯器及它們之間內在的關聯,成為程式設計專家,那麼就必須充分瞭解編譯器生成的二進位檔案(目的檔案、靜態程式庫、動態庫和可執行檔)的作用和結構。開源已經在許多方面從根本上改變了軟體的原有面貌,越來越多的系統開始採用或集成開原始程式碼,因此對每位開發人員來說,學習和理解這些底層技術也變得十分重要。

本書深入淺出地講解了構建過程(編譯、連結)中的細節,從多個角度展示了程式與庫檔或代碼的集成方法,提出了面向代碼重用和系統集成的軟體架構設計方法,同時展示了系統開發過程中疑難問題的解決方案。另外,本書也是一本C和C++二進位檔案方面的軟體工程指南,涵蓋中級和專家級程式師所需的各方面內容和資訊。

通過閱讀本書,你將學到:

*構建過程(編譯和連結)與裝載過程的內部原理。
*靜態程式庫、動態庫和可執行檔的內部工作機制。
*面向代碼重用和系統集成的軟體架構設計方法。
*編譯、連結與運行時問題的排查技巧。
*在Linux和Windows平臺下利用二進位檔案分析工具進行分析的方法。

 

作者介紹

米蘭·斯特瓦諾維奇( Milan Stevanovic ) 
資深軟體顧問,在多個學科的工程領域有著豐富的經驗。他主要從事Linux和Windows平臺下的多媒體壓縮格式及多媒體框架設計工作。他熱衷於開源,是avxsynth開源專案的主要貢獻者,對C和C++底層技術有著深入的研究。

 

目錄

譯者序
前言
第1章 多工作業系統基礎 1
1.1 一些有用的抽象概念 1
1.2 記憶體層次結構與緩存策略 2
1.3 虛擬記憶體 3
1.4 虛擬位址 5
1.5 進程的記憶體劃分方案 5
1.6 二進位檔案、編譯器、連結器與裝載器的作用 6
1.7 小結 7

第2章 程式生命週期階段基礎 8
2.1 基本假設 8
2.2 編寫代碼 9
2.3 編譯階段 11
2.3.1 基本概念 11
2.3.2 相關概念 11
2.3.3 編譯的各個階段 12
2.3.4 目的檔案屬性 23
2.3.5 編譯過程的局限性 24
2.4 連結 26
2.4.1 連結階段 26
2.4.2 連結器視角 31
2.5 可執行檔屬性 33
2.5.1 各種節的類型 34
2.5.2 各種符號類型 36

第3章 載入程式執行階段 37
3.1 shell的重要性 37
3.2 內核的作用 39
3.3 裝載器的作用 39
3.3.1 裝載器視角下的二進位檔案(節與段) 39
3.3.2 程式載入階段 40
3.4 程式執行入口點 43
3.4.1 裝載器查找入口點 43
3.4.2 _start()函數的作用 43
3.4.3 __libc_start_main()函數的作用 44
3.4.4 棧和調用慣例 44

第4章 重用概念的作用 46
4.1 靜態程式庫 46
4.2 動態庫 48
4.2.1 動態庫和共用庫 49
4.2.2 動態連結詳解 51
4.2.3 Windows平臺中動態連結的特點 54
4.2.4 動態庫的特點 56
4.2.5 應用程式二進位介面 56
4.3 靜態程式庫和動態庫對比 57
4.3.1 導入選擇條件的差異 57
4.3.2 部署難題 59
4.4 一些有用的類比 61
4.5 結論:二進位重用概念所產生的影響 63

第5章 使用靜態程式庫 64
5.1 創建靜態程式庫 64
5.1.1 創建Linux靜態程式庫 64
5.1.2 創建Windows靜態程式庫 65
5.2 靜態程式庫的使用場合 65
5.3 靜態程式庫設計技巧 66
5.3.1 丟失符號可見性和唯一性的可能性 66
5.3.2 靜態程式庫使用禁忌 67
5.3.3 靜態程式庫連結的具體規則 68
5.3.4 將靜態程式庫轉換成動態庫 68
5.3.5 靜態程式庫在64位Linux平臺上的問題 68

第6章 動態庫的設計:基礎篇 70
6.1 創建動態庫 70
6.1.1 在Linux中創建動態庫 70
6.1.2 在Windows中創建動態庫 72
6.2 設計動態庫 75
6.2.1 設計二進位介面 75
6.2.2 設計應用程式的二進位介面 79
6.2.3 控制動態庫符號的可見性 82
6.2.4 完成連結需要滿足的條件 94
6.3 動態連結模式 94
6.3.1 載入時動態連結 95
6.3.2 運行時動態連結 95
6.3.3 比較兩種動態連結模式 98

第7章 定位庫文件 99
7.1 典型用例場景 99
7.1.1 開發用例場景 99
7.1.2 用戶運行時用例場景 100
7.2 構建過程中庫檔的定位規則 101
7.2.1 Linux構建過程中的庫檔定位規則 101
7.2.2 Windows構建過程中的庫檔定位規則 105
7.3 運行時動態庫檔的定位規則 109
7.3.1 Linux運行時動態庫檔的定位規則 110
7.3.2 Windows運行時動態庫檔的定位規則 114
7.4 示例:Linux構建時與運行時的庫檔定位 115

第8章 動態庫的設計:進階篇 119
8.1 解析記憶體位址的必要性 119
8.2 引用解析中的常見問題 120
8.3 位址轉換引發的問題 122
8.3.1 情景1:客戶二進位檔案需要知道動態庫符號位址 122
8.3.2 情景2:被裝載的庫不需要知道其自身符號位址 123
8.4 連結器-裝載器協作 124
8.4.1 總體策略 125
8.4.2 具體技術 126
8.4.3 連結器重定位提示概述 127
8.5 連結器-裝載器協作實現技術 128
8.5.1 裝載時重定位 129
8.5.2 位置無關代碼 129

第9章 動態連結時的重複符號處理 134
9.1 重複符號的定義 134
9.2 重複符號的預設處理 137
9.3 在動態庫連結過程中處理重複符號 140
9.3.1 處理重複符號問題的一般策略 142
9.3.2 連結器解析動態庫重複符號的模糊演算法準則 143
9.4 特定重複名稱案例分析 144
9.4.1 案例1:客戶二進位檔案符號與動態庫ABI函數衝突 144
9.4.2 案例2:不同動態庫的ABI符號衝突 147
9.4.3 案例3:動態庫ABI符號和另一個動態庫局部符號衝突 151
9.4.4 案例4:兩個未匯出的動態庫符號衝突 153
9.5 小提示:連結並不提供任何類型的命名空間繼承 161

第10章 動態庫的版本控制 162
10.1 主次版本號與向後相容性 162
10.1.1 主版本號變更 162
10.1.2 次版本號變更 163
10.1.3 修訂版本號 163
10.2 Linux動態庫版本控制方案 163
10.2.1 基於soname的版本控制方案 163
10.2.2 ………..
 

詳細資料

  • ISBN:9787111717300
  • 規格:平裝 / 266頁 / 16k / 19 x 26 x 1.33 cm / 普通級 / 單色印刷 / 1-1
  • 出版地:中國
贊助商廣告
 
金石堂 - 今日66折
No.1小學生的英文課本:從學齡前到國一都適用的英文神奇寶典(附1CD+「Youtor App」內含VRP虛擬點讀筆虛擬點讀筆)
作者:池田紅玉
出版社:懶鬼子英日語出版社
出版日期:2022-08-03
66折: $ 263 
金石堂 - 今日66折
印象派,看不懂就沒印象啊啊【暢銷版】:9大印象神人的作畫神技,認識現代藝術的必修課
作者:顧爺
出版社:原點
出版日期:2023-12-20
66折: $ 329 
TAAZE 讀冊生活 - 今日66折
國中單字2000得分王:會考、英檢初級必考單字全收錄,關連性記憶取代背誦,答題快狠準!
作者:凱信英研所講師團隊
出版社:凱信企管
出版日期:2023-02-01
66折: $ 238 
城邦讀書花園 - 今日66折
塗佛之宴:撤宴(經典回歸版)
出版日期:1900-01-01
66折: $ 462 
 
博客來 - 暢銷排行榜
關於未知的我們 戲劇寫真書
作者:關於未知的我們
出版社:台灣角川
出版日期:2024-03-28
$ 379 
金石堂 - 暢銷排行榜
排球少年!!公式彩圖集  (全)
作者:古舘 春一
出版社:東立出版社
出版日期:2019-01-04
$ 238 
金石堂 - 暢銷排行榜
少年的深淵(10)
作者:峰浪りょう
出版社:青文出版社股份有限公司
出版日期:2024-04-15
$ 111 
Taaze 讀冊生活 - 暢銷排行榜
我,刀槍不入:從街頭魯蛇到海豹突擊隊,掌控心智、力抗萬難的奇蹟
作者:大衛.哥金斯
出版社:方智出版
出版日期:2023-11-01
$ 379 
 
金石堂 - 新書排行榜
AI世界的底層邏輯與生存法則
作者:程世嘉
出版社:遠見天下文化出版股份有限公司
出版日期:2024-04-30
$ 356 
金石堂 - 新書排行榜
素手提刑(二)
作者:一朵蓮花精
出版社:東佑文化事業有限公司
出版日期:2024-04-24
$ 213 
金石堂 - 新書排行榜
達克比辦案14:莽原生死鬥:草原生態系與地下環境的生存適應
作者:胡妙芬
出版社:親子天下股份有限公司
出版日期:2024-04-03
$ 300 
金石堂 - 新書排行榜
萬物藍圖:看晶片設計巨人安謀的崛起與未來
作者:詹姆斯.艾希頓
出版社:商業周刊
出版日期:2024-03-05
$ 379 
 

©2024 FindBook.com.tw -  購物比價  找書網  找車網  服務條款  隱私權政策