程式設計師的自我修養筆記三

2021-07-26 21:11:33 字數 470 閱讀 9538

目標檔案裡有什麼

3.1目標檔案的格式

windows中動態鏈結庫.dll linux中是.so

windows中靜態鏈結庫.lib linux中是.a

可執行檔案在windows下按照pe-coff格式儲存,linux下按照elf格式儲存

elf檔案分類:

3.2目標檔案是什麼樣的

目標檔案中不僅有編譯後的機器指令**,資料,還有關於鏈結的必要資訊:

符號表,除錯資訊,字串等,目標檔案將此資訊按不同屬性,以節(section)

的形式儲存,有時也叫段(segment).

eg:編譯後有了**段,資料段,唯讀資料段...... 看程序位址空間圖

目標硬體,目標os資訊,還有乙個段表(section table)描述各段在檔案中的偏移,及屬性等)

總之:編譯後主要分兩種段:程式指令(**段)和程式資料(資料段,bss段)

分段的好處:

《程式設計師的自我修養》筆記

以下是我讀此書時作的一些筆記,當然書中還有很多值得參考的想法,就不一一枚舉了。一萬小時說法 這個說法很普遍了,它再次提醒了我如何去做乙個領域的專家。如果平均每天八小時在這個領域上,那麼一年300天 300 8 2400,保持這種學習激情在上面,五年內就可以成為專家了,我算了算自己在這個領域投入的時間...

《程式設計師的自我修養》閱讀筆記(三)

第10章 記憶體 函式呼叫慣例。函式返回值通常儲存在暫存器eax,然後由呼叫者讀取,對5 8位元組返回值,通常由eax儲存低4位,edx儲存高4位。而返回值大於8位元組時,呼叫過程大致如下 聲名狼藉的c 返回物件。為此,c 提出了返回值優化 return value optimization,rvo...

程式設計師的自我修養

一忌 輕易言敗,沒有自信 沒有永不放棄精神的程式設計師,只是乙個有程式設計師名號的假程式設計師。乙個真正的程式設計師,知道在程式設計的過程中,可能會遇到不計其數的困難和問題,可能有極多的挫折和失敗,而成功只有一次。就為解決乙個問題,我們可能連續十幾甚至幾十小時的坐在計算機前不停的工作。乙個問題解決了...