链接器和加载器linkersandloaders
学生:由于链接过程看起来似乎是微不足道和显而易见的,编译器构建和操作系统课程通常对链接和加载都缺乏重视。这对于以前讨论Fortan,Pascal,C,和不使用内存映射或共享库的操作系统而言可能是对的,但是现在就不那么正确了。C++,Java和其它的面向对象语言需要更加完善的链接环境。使用内存映射的可执行程序,共享库,和动态链接影响了一个操作系统的很多部分,一个忽略链接问题的操作系统设计者将承担巨大的风险。实习程序员也需要知道链接器都做了什么,尤其是对现代语言。C++在链接器中放置了不少独特的特性,而大型C++程序容易发生难以诊断的bug也是由于在链接时发生了不可预料的事情(最常见的情况是静态构造函数没有按照程序员预计的顺序执行)。当正
用户评论