幻灯片 1 - 清华大学计算机系.pptVIP

  • 17
  • 0
  • 约9.7千字
  • 约 41页
  • 2017-03-31 发布于广东
  • 举报
幻灯片 1 - 清华大学计算机系.ppt

链接和加载的作用 静态链接 目标文件(处理目标)? 可重定位目标文件(输入) 符号表和符号解析 重定位 可执行目标文件(输出) 加载可执行目标文件 共享库的加载和动态链接 处理目标文件的常用工具 提纲 链接和加载的作用 链接的时机: 编译时,就是源代码被编译成机器代码时; 加载时,也就是程序被加载到内存时; 运行时,由应用程序来实施。 链接在现代软件开发中占有极为重要的地位: 为“复用”提供技术支持: 它使得分离编译成为可能。我们可以把大型的应用程序分解为多个较小的、便于管理的模块,独立的修改和编译这些模块,这样当我们修改这些模块中的一个时,只需要重新编译链接它,而不必重新编译整个应用程序所有模块。 动态绑定(Binding):接口,定义、实现、使用的分离 学习链接知识的意义: 帮助我们构造大型程序; 帮助我们避免一些危险的编程错误; 帮助我们开发共享库(构件库); 编译器驱动程序 编译器驱动程序为用户根据需求调用预处理器、汇编器和链接器。 以GCC为例,我们要用用GCC编译系统编译如下程序: 编译器驱动程序 需要在shell中输入如下命令来调用GCC驱动程序: unix gcc –O2 –g –o p main.c swap.c 该命令调用了GCC编译器驱动程序,将应用程序从ASCII码源文件翻译成可执行的目标文件。在这一过程中,经过了如下步骤: 1. 调用C预处理器把

文档评论(0)

1亿VIP精品文档

相关文档