日本免费精品视频,男人的天堂在线免费视频,成人久久久精品乱码一区二区三区,高清成人爽a毛片免费网站

在線客服
程序員的自我修養—鏈接、裝載與庫圖書
人氣:252

程序員的自我修養—鏈接、裝載與庫

本書主要介紹系統軟件的運行機制和原理,涉及在Windows和Linux兩個系統平臺上,一個應用程序在編譯、鏈接和運行時刻所發生的各種事項
  • 所屬分類:圖書 >計算機/網絡>程序設計>其他  
  • 作者:[俞甲子],[石凡],[潘愛民] 著
  • 產品參數:
  • 叢書名:--
  • 國際刊號:9787121085116
  • 出版社:電子工業出版社
  • 出版時間:2009-04
  • 印刷時間:2009-04-01
  • 版次:1
  • 開本:16開
  • 頁數:--
  • 紙張:膠版紙
  • 包裝:平裝
  • 套裝:

內容簡介

本書主要介紹系統軟件的運行機制和原理,涉及在Windows和Linux兩個系統平臺上,一個應用程序在編譯、鏈接和運行時刻所發生的各種事項,包括:代碼指令是如何保存的,庫文件如何與應用程序代碼靜態鏈接,應用程序如何被裝載到內存中并開始運行,動態鏈接如何實現,C/C++運行庫的工作原理,以及操作系統提供的系統服務是如何被調用的。每個技術專題都配備了大量圖、表和代碼實例,力求將復雜的機制以簡潔的形式表達出來。本書還提供了一個小巧且跨平臺的C/C++運行庫MiniCRT,綜合展示了與運行庫相關的各種技術。

本書對裝載、鏈接和庫進行了深入淺出的剖析,并且輔以大量的例子和圖表,可以作為計算機軟件專業和其他相關專業大學本科高年級學生深入學習系統軟件的參考書。同時,還可作為各行業從事軟件開發的工程師、研究人員以及其他對系統軟件實現機制和技術感興趣者的自學教材。

目錄

第1部分 簡介

第1章 溫故而知新

1.1 從HELLO WORLD 說起

1.2 萬變不離其宗

1.3 站得高,望得遠

1.4 操作系統做什么

1.5 內存不夠怎么辦

1.6 眾人拾柴火焰高

1.7 本章小結

第2部分 靜態鏈接

第2章 編譯和鏈接

2.1 被隱藏了的過程

2.2 編譯器做了什么

2.3 鏈接器年齡比編譯器長

2.4 模塊拼裝——靜態鏈接

2.5 本章小結

第3章 目標文件里有什么

3.1 目標文件的格式

3.2 目標文件是什么樣的

3.3 挖掘SIMPLESECTION.O

3.4 ELF 文件結構描述

3.5 鏈接的接口——符號

3.6 調試信息

3.7 本章小結

第4章 靜態鏈接

4.1 空間與地址分配

4.2 符號解析與重定位

4.3 COMMON 塊

4.4 C++相關問題

4.5 靜態庫鏈接

4.6 鏈接過程控制

4.7 BFD 庫

4.8 本章小結

第5章 WINDOWS PE/COFF

5.1 WINDOWS 的二進制文件格式PE/COFF 134

5.2 PE 的前身——COFF

5.3 鏈接指示信息

5.4 調試信息

5.5 大家都有符號表

5.6 WINDOWS 下的ELF——PE

5.7 本章小結

第3部分 裝載與動態鏈接

第6章 可執行文件的裝載與進程

6.1 進程虛擬地址空間

6.2 裝載的方式

6.3 從操作系統角度看可執行文件的裝載

6.4 進程虛存空間分布

6.5 LINUX 內核裝載ELF 過程簡介

6.6 WINDOWS PE 的裝載

6.7 本章小結

第7章 動態鏈接

7.1 為什么要動態鏈接

7.2 簡單的動態鏈接例子

7.3 地址無關代碼

7.4 延遲綁定(PLT)

7.5 動態鏈接相關結構

7.6 動態鏈接的步驟和實現

7.7 顯式運行時鏈接

7.8 本章小結

第8章 LINUX 共享庫的組織

8.1 共享庫版本

8.2 符號版本

8.3 共享庫系統路徑

8.4 共享庫查找過程

8.5 環境變量

8.6 共享庫的創建和安裝

8.7 本章小結

第9章 WINDOWS 下的動態鏈接

9.1 DLL 簡介

9.2 符號導出導入表

9.3 DLL 優化

9.4 C++與動態鏈接

9.5 DLL HELL

9.6 本章小結

第4部分 庫與運行庫

第10章 內存

10.1 程序的內存布局

10.2 棧與調用慣例

10.3 堆與內存管理

10.4 本章小結

第11章 運行庫

11.1 入口函數和程序初始化

11.2 C/C++運行庫

11.3 運行庫與多線程

11.4 C++全局構造與析構

11.5 FREAD 實現

11.6 本章小結

第12章 系統調用與API

12.1 系統調用介紹

12.2 系統調用原理

12.3 WINDOWS API

12.4 本章小結

第13章 運行庫實現

13.1 C 語言運行庫

13.2 如何使用MINI CRT

13.3 C++運行庫實現

13.4 如何使用MINI CRT++

13.5 本章小結

附錄A

A.1 字節序(BYTE ORDER)

A.2 ELF 常見段

A.3 常用開發工具命令行參考

索引

在線預覽

第1部分 簡介

第1章 溫故而知新

1.2 萬變不離其宗

計算機是個非常廣泛的概念,大到占用數層樓的用于科學計算的超級計算機,小到手機上的嵌入式芯片都可以被稱為計算機。雖然它們的外形、結構和性能都千差萬別,但至少它們都有"計算"這個概念。在本書里面,我們將計算機的范圍限定在最為流行、使用最廣泛的PC機,更具體地講是采用兼容x86指令集的32位CPU的個人計算機。原因很簡單:因為筆者手上目前只有這種類型的計算機可供操作和實驗,不過相信90%以上的讀者也是,所以在這一點上我們很快能達成共識。其實選擇具體哪種平臺并不是最關鍵的,雖然各種平臺的軟硬件差別很多,但是本質上它們的基本概念和工作原理都是一樣的,只要我們能夠掌握一種平臺上的技術,那么其他的平臺都是大同小異的,很輕松地可以舉一反三。所以我們相信,只有你能夠深刻地理解x86平臺下的系統軟件背后的機理,當有24小時你需要在MIPS指令集的嵌入式平臺上做開發,或者需要為64位的Windows或tinux開發應用程序的時候,你很快就能找到它們之間的相通之處。

撇開計算機硬件中紛繁復雜的各種設備、芯片及外圍接口等,站在軟件開發者的角度看,我們只須抓住硬件的幾個關鍵部件。對于系統程序開發者來說,計算機多如牛毛的硬件設備中,有三個部件最為關鍵,它們分別是中央處理器CPU、內存和I/O控制芯片,這三個部件幾乎就是計算機的核心了;對于普通應用程序開發者來說,他們似乎除了要關心CPU以外,其他的硬件細節基本不用關心,對于一些高級平臺的開發者來說(如Java、.NET或腳本語言開發者),連CPU都不需要關心,因為這些平臺為它們提供了一個通用的抽象的計算機,他們只要關心這個象的計算機就可以了。

……

媒體評論

這是一本深人闡述鏈接、裝載和庫等問題的圖書,讀來讓人愉悅,你從巾可以清晰地了解程序的前世今生,徹底理解敲人的代碼如何變成程序任系統中運行。通讀本書不管對于開發還是trouble shootin9都會很有幫助。建議每一位希望從事系統開發、或希望更實務地理解操作系統和編

網友評論(不代表本站觀點)

來自BlankIt**的評論:

個人覺得真正的程序員是應該對底層底層的東西有必要的了解的,正所謂本書所強調的程序員的自我修養。若想了解程序的是怎么加載運行的,那么這本書是你所需要的!強烈推薦!

2013-12-03 23:22:45
來自嫻誕**的評論:

之前一路從匯編到C再到java,感覺底層的東西真的很重要很有用

2016-09-16 10:50:34
來自dqpl**的評論:

我是把這本書撕開,每次看幾頁,在地鐵上看完的。當然,只是通讀,沒有很認真的研究。我覺得對非計算機科班出身而從事編程的人而言,這本書值得一看。如果你對計算機有興趣,想了解一些在運行的程序背后發生的事情。這本書可以作為一個入門,引領你去學習鉆研更多的內容。

2011-08-02 13:09:39
來自無昵稱**的評論:

快遞是我目前遇到最爛的一次,只有五六十公里的距離,竟然用了五六天,然后打電話通知態度超爛,還說我是異地卡,超出了他的服務范圍。不發短信。,,,,,,,。書還行,。。。趕快換物流吧。。。。。

2015-01-02 08:18:11
來自Alvin90**的評論:

經典的書籍不需要解釋,終于還是買了書,電子書看起來不爽

2017-08-21 09:52:43
來自fengyun**的評論:

將鏈接編譯,運行庫,可執行文件等基礎講的很清楚,真不錯。

2012-04-27 05:20:48
來自無昵稱**的評論:

C到底怎么運行、操作系統如何裝載,這本書是從操作系統的角度剖析一段代碼如何運行,屬于硬基本功,當然啃起來很吃力,但是心里很滿足

2013-10-19 11:09:45
來自東軟小**的評論:

以最快的速度看完了這本書,對動態庫的裝載鏈接原理有了更深的認識,尤其是對在工作中碰到的相關問題處理起來更加得心應手。

2013-08-21 14:25:42
來自我她的**的評論:

對于程序編譯、執行的內部機理進行系統的闡述,這方面的知識,之前也都是遇到各種各樣的問題一點點積攢下了,但從沒有過系統的整理,這書正好補上了這部分的空缺,贊一個

2014-04-16 00:54:21
來自無昵稱**的評論:

程序員的自我修養—鏈接、裝載與庫( 網易云風力薦:莫到用時再讀書

2016-01-20 08:51:15
來自無昵稱**的評論:

講道理,作者的功底真的很厲害,對鏈接的過程很清晰,難得的好書,對得起書名

2016-10-25 18:26:55
來自以道認**的評論:

一本非常不錯的經典內功修練書籍,深入淺出,深奧難懂的知識通常都伴有一個比喻或類比來幫你加深理解,非常不錯,值得擁有

2017-04-25 13:36:10
來自qihh_7**的評論:

對于編譯,鏈接和加載,之前只是一知半解,看了這本書全明白了,由于其中對于動態庫“全局符號介入”的問題,項目上需要注意啊!

2013-07-14 15:58:25
來自死亡外**的評論:

還不錯,就像弄清楚程序鏈接這類的問題。整本書看起來內容挺多,其實壓縮下沒多少。有些地方也是含糊不清或者就直接說“關于這類的問題,后面會有詳細解釋”,看到后面的解釋其實已經跟前面的問題對不上了。不過,總的來說,書還是不錯的,最好能邊看邊查!

2013-10-23 13:13:16
來自無昵稱**的評論:

一直很信賴當當的才在這里買的書,送貨的速度很快,書是正品。提兩個小建議 第一 書的包裝實在不敢恭維 只有一個塑料袋。第二現在快遞都是大爺啊 連送上樓都不行?開會呢非得下樓去取?

2015-05-30 14:08:23
來自離風蕭**的評論:

國內經典的計算機書籍不多,這本可謂是很有深度,尤其是對于那些喜歡鉆研,喜歡了解底層的家伙來說,我閱讀這本書已經是第二遍了,從電子書,到從圖書館借來的書,再到自己去買。每次讀都有新的收獲,尤其是邊看代碼,邊讀書。

2012-03-26 22:32:38
來自jcsvj64**的評論:

關于書的內容就不多說了,上次在當當買書還是上大二,如今畢業都一年了,體驗依舊不錯,聽說當當這幾年發展速度一般,但這不重要,衷心希望當當能夠一如既往的堅持給用戶提供良好的體驗,做一家經得起時間考驗的企業

2014-10-23 22:06:46
來自jianghu**的評論:

不錯的專業書籍,活動的時候購買價格也很不錯了。系統解釋了程序運行的各個方面的內容,把軟件和硬件的連接講的很透徹,對程序的理解也更深了。另外,在這贊一下配送大姐,大姐很盡職,很貼心,讓人心暖暖的~~贊一個

2015-03-17 11:02:04
來自無昵稱**的評論:

這本書把晦澀的編譯,鏈接和庫的知識做了一次成功的科普嘗試,雖然是僅以windows和linux環境作為例子,基本思想是相通的,可以觸類旁通。以前老看電子版,還是買本紙質正版,放到馬桶邊,如廁時回顧:)

2014-12-05 15:48:10
來自無昵稱**的評論:

大神推薦的書,雖然這本書完全不是小白(或者說剛入門的程序猿)能看懂的,但就其內容和設計各方面感覺還是很棒的,希望不久以后自己能夠從這本書中學到東西。當當這次沒有把書弄臟弄破挺好,希望繼續保持!!!

2016-12-12 17:37:43
來自愛佛之**的評論:

這是一本深人闡述鏈接、裝載和庫等問題的優秀圖書,讀來讓人愉悅,你從巾可以清晰地了解程序的前世今生,徹底理解敲人的代碼如何變成程序任系統中運行。通讀本書不管對于開發還是trouble shootin9都會很有幫助。

2014-10-31 12:49:12
來自圍巾的**的評論:

我的數據庫老師在課上曾經推薦過這本書,這本書的作者我也認識,現在作者已經開了公司,干得還不錯。最近重讀這本書,感覺作者對連接這部分講解的不錯,但是裝載處理的不是很好,可能和這部分細節不多吧

2012-12-02 19:30:29
來自無昵稱**的評論:

買它就是為了理解程序從編譯、連接到裝載運行的過程。買這本數之前也買了大名鼎鼎的《鏈接器和加載器》,但是說的不夠詳細,感覺晦澀難懂。如果想要對程序的運行機理理解的更加深入一些,這本書是不錯的選擇,正如書名,主要用來修煉內功。

2015-06-03 10:46:36
來自無昵稱**的評論:

一直沒敢評,過了個暑假,看完了,覺得沒有想象中的好,主要是不夠深,特別是能看的出來作者很得意的那個c運行時庫,寫得實在是太過簡單,大半兒東西感覺熟悉系統編程的人都做過。書里確實大都是現有的資料,不過有很多資料自己收集整理起來是很麻煩的,看得出作者確是用了心,下了功夫的,再考慮作者的年齡,很可貴了,自比不如啊,呵呵。嗯,本來打算給三星的,發現當當的星級代表的是喜歡與否,不是書的內容質量評級,就給四星啦,確實是挺喜歡的,呵呵。

2009-10-11 21:28:45
來自Pardus**的評論:

寫得非常不錯,的確是一本國內不多見的優秀原創書。大家都抄來抄去,能有這么一本好書不容易,我們要愛護。我一口氣讀了100多頁,是位年輕的作者。盡管他打著潘愛民的旗號,但是作者的探索精神,“打破砂鍋紋(問)到底”的精神,都超過了潘愛民。該書適合各路人士(新手和老手)。非常希望作者能對這本書的文字和布局再仔細錘煉一下,不要趕時髦,僅保留重要的內容,以書名闡述的“修養”的嚴謹態度,剃除原文中那些“博克”習氣的文字,文字再精煉些,修正一些編輯性錯誤。還有,補充書中各種論點的參考文獻和閱讀書目,提高可信行。那樣,我覺得每位學習計算機專業的人都該在案頭備這么一本書,這本書有望成長為一本該領域的圣經。各位,先睹為快!

2009-08-13 16:15:23

免責聲明

更多出版社