2010-07-20 74 views
3

我想閱讀一些關於可執行文件的編譯鏈接加載過程的文本。 我發現的一般網絡文本並不像我想的那麼詳細。鏈接器和加載程序參考

並且不......我確信一本關於編譯器&鏈接器等的書會太多。我想了解一些常識,特別是如何在實踐中進行。

任何參考將不勝感激...我敢肯定有一些博客有關於此的優秀文章。

+1

我曾讀過_anywhere_的最佳解釋就是在這裏:http://stackoverflow.com/questions/510309/the-compilation-process/510379#510379 :-) – paxdiablo 2010-07-20 03:20:25

回答

2

對於Linux上的庫和可執行文件,Ulrich Drepper的paper非常好。

0

只有很少的編程語言實現使用鏈接器和加載器。

我不知道你怎麼能進入更深層次的細節,而不需要暫時打開鏈接器和編譯器。

在C語言實現中,編譯器輸出目標文件。鏈接器是一個單獨的程序,它接收目標文件並輸出可執行文件。此外,加載程序是加載可執行文件的單獨程序。

一些編譯器可以直接調用鏈接器。

很少有編譯器實現只輸出彙編文件,這些彙編文件被進一步組裝並鏈接。

這裏沒有太多內容。