2010-07-20 56 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语言实现中,编译器输出目标文件。链接器是一个单独的程序,它接收目标文件并输出可执行文件。此外,加载程序是加载可执行文件的单独程序。

一些编译器可以直接调用链接器。

很少有编译器实现只输出汇编文件,这些汇编文件被进一步组装并链接。

这里没有太多内容。