第8章编译系统运行系统.PDFVIP

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章编译系统运行系统

第8章 编译系统和运行系统 本章内容 • C语言编译系统 – 预处理器、编译器、汇编器、连接器 – 目标文件的格式、静态库、动态连接 • Java运行系统 引入本章的目的 – 掌握从源程序到可执行目标程序的实际处理过程 – 对实际参与软件开发是直接有用的 8.1 C语言编译系统 源程序 • C源程序可以分成若 干个模块 预处理器 • 分别进行预处理、编 修改后的源程序 译和汇编、形成可重定 编译器 位的目标文件 • 目标文件和必要的库 汇编程序 文件连接成一个可执行 汇编器 的目标文件 • gcc和cc是编译驱动 可重定位的目标程序 程序的名字 库 连接器 可重定位的 可执行的目标程序 目标文件 8.1 C语言编译系统 main.c swap.c (1) #if 1 (1) extern int buf[2]; (2) int buf[2]; (2) int *bufp0 = buf; (3) #else (3) int *bufp1; (4) int buf[2] = {10,20}; (4) void swap( ) (5) #endif (5) { (6) void swap(); (6) int temp; (7) #define A buf[0] (7)bufp1 = buf+1; (8)temp = *bufp0; (8) int main( ) (9)*bufp0 = *bufp1; (9) { (10)*bufp1 = temp; (10)scanf(%d, %d, buf, buf+1); (11) } (11)swap( ); (12)printf(%d, %d,A, buf[1]); (13)return 0; (14) } 8.1 C语言编译系统 8.1.1 预处理器 • gcc首先调用预处理器cpp,将源程序文件翻 译成一个ASCII 中间文件,它是经修改后的 源程序 • cpp实现以下功能 –文件包含 –宏展开 –条件编译 8.1 C语言编译系统 main.c main.i (1) #if 1

文档评论(0)

zhuanqmf01 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档