自己动手构造编译系统:编译、汇编与链接

自己动手构造编译系统:编译、汇编与链接
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: ,
2016-08
版次: 1
ISBN: 9787111543558
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 290页
字数: 271千字
正文语种: 简体中文
丛书: 实战
93人买过
  •   本书以作者实现的一个基于Intelx86指令集的编译系统为例,结合程序代码的主要部分详细阐述了编译系统的实现原理和过程。本书对编译器、汇编器、链接器、编译优化器涉及的关键算法、数据结构和程序实现流程,以及ELF文件的格式、Intel指令格式均作了详细的说明,并结合大量的图表,展示了编译系统工作过程中代码信息的流动和存储格式的变化。是一本“手把手”教读者实现编译系统的贴心手册。 范志东 就职于腾讯数据平台部,负责腾讯大数据平台的产品化,涉及自动化部署、应用调度、交互分析、集群监控、性能调优等,对开源工具Ambari、Hadoop、Spark等有深入的了解。在校期间屡次获得国家奖学金和励志奖学金。独立开发了基于Intel x86指令集的自定义类C语言的编译系统,包括编译器、汇编器与链接器的实现,对计算机程序的加载和运行原理有深刻的认识。深入分析过Linux内核关于CPU功耗方面的代码。爱好广泛,对编程语言、操作系统、编译系统、计算机安全、分布式系统有着浓厚的兴趣。闲暇时会在技术博客上分享自己的学习心得,期望通过互联网把获得知识的快乐心情传递出去。参与了“十一五”校级立项正式出版教材《计算机操作系统原理》以及全国自学考试教材《计算机应用技术》编写的相关工作。

     张琼声 湖北省松滋县人,中国石油大学(华东)计算机与通信工程学院副教授,硕士生导师。主讲课程:《操作系统》《操作系统课程实习》和《嵌入式操作系统》。主持的《计算机操作系统》课程被评为校级精品课,先后获得中国石油大学优秀教学研究成果一、二、三等奖各一项;曾获评中国石油大学优秀教师、山东省优秀学士论文指导教师;主持或参与科研、教研项目十四项。专业及研究兴趣为系统软件开发技术,包括:操作系统、编译系统、计算机系统安全性。发表科研、教学论文二十余篇。参与翻译《深入理解Linux内核》第3版,编著“十一五”校级立项正式出版教材《计算机操作系统原理》、主编全国自学考试教材《计算机应用技术》。  序 
    前言 
    第1章代码背后1 
    从编程聊起 1 
    历史渊源 2 
    GCC的工作流程 3 
    1.3.1预编译 4 
    1.3.2编译 5 
    1.3.3汇编 6 
    1.3.4链接 7 
    设计自己的编译系统 8 
    本章小结 9 
    第2章编译系统设计 11 
    2.1编译程序的设计 11 
    2.1.1词法分析 12 
    2.1.2语法分析 13 
    2.1.3符号表管理 14 
    2.1.4语义分析 15 
    2.1.5代码生成 16 
    2.1.6编译优化 16 
    2.2 x86指令格式 18 
    2.3 ELF文件格式 19 
    2.4汇编程序的设计 21 
    2.4.1汇编词法、语法分析 22 
    2.4.2表信息生成 23 
    2.4.3指令生成 24 
    2.5链接程序的设计 25 
    2.5.1地址空间分配 25 
    2.5.2符号解析 26 
    2.5.3重定位 27 
    2.6本章小结 27 
    第3章编译器构造 29 
    3.1词法分析 29 
    3.1.1扫描器 30 
    3.1.2词法记号 32 
    3.1.3有限自动机 36 
    3.1.4解析器 40 
    3.1.5错误处理 53 
    3.2语法分析 55 
    3.2.1文法定义 55 
    3.2.2递归下降子程序 65 
    3.2.3错误处理 70 
    3.3符号表管理 74 
    3.3.1符号表数据结构 75 
    3.3.2作用域管理 78 
    3.3.3变量管理 82 
    3.3.4函数管理 88 
    第4章编译优化147 
    第5章二进制表示191 
    第6章汇编器构造219 
    第7章连接器构造263 
    参考文献
  • 内容简介:
      本书以作者实现的一个基于Intelx86指令集的编译系统为例,结合程序代码的主要部分详细阐述了编译系统的实现原理和过程。本书对编译器、汇编器、链接器、编译优化器涉及的关键算法、数据结构和程序实现流程,以及ELF文件的格式、Intel指令格式均作了详细的说明,并结合大量的图表,展示了编译系统工作过程中代码信息的流动和存储格式的变化。是一本“手把手”教读者实现编译系统的贴心手册。
  • 作者简介:
    范志东 就职于腾讯数据平台部,负责腾讯大数据平台的产品化,涉及自动化部署、应用调度、交互分析、集群监控、性能调优等,对开源工具Ambari、Hadoop、Spark等有深入的了解。在校期间屡次获得国家奖学金和励志奖学金。独立开发了基于Intel x86指令集的自定义类C语言的编译系统,包括编译器、汇编器与链接器的实现,对计算机程序的加载和运行原理有深刻的认识。深入分析过Linux内核关于CPU功耗方面的代码。爱好广泛,对编程语言、操作系统、编译系统、计算机安全、分布式系统有着浓厚的兴趣。闲暇时会在技术博客上分享自己的学习心得,期望通过互联网把获得知识的快乐心情传递出去。参与了“十一五”校级立项正式出版教材《计算机操作系统原理》以及全国自学考试教材《计算机应用技术》编写的相关工作。

     张琼声 湖北省松滋县人,中国石油大学(华东)计算机与通信工程学院副教授,硕士生导师。主讲课程:《操作系统》《操作系统课程实习》和《嵌入式操作系统》。主持的《计算机操作系统》课程被评为校级精品课,先后获得中国石油大学优秀教学研究成果一、二、三等奖各一项;曾获评中国石油大学优秀教师、山东省优秀学士论文指导教师;主持或参与科研、教研项目十四项。专业及研究兴趣为系统软件开发技术,包括:操作系统、编译系统、计算机系统安全性。发表科研、教学论文二十余篇。参与翻译《深入理解Linux内核》第3版,编著“十一五”校级立项正式出版教材《计算机操作系统原理》、主编全国自学考试教材《计算机应用技术》。 
  • 目录:
    序 
    前言 
    第1章代码背后1 
    从编程聊起 1 
    历史渊源 2 
    GCC的工作流程 3 
    1.3.1预编译 4 
    1.3.2编译 5 
    1.3.3汇编 6 
    1.3.4链接 7 
    设计自己的编译系统 8 
    本章小结 9 
    第2章编译系统设计 11 
    2.1编译程序的设计 11 
    2.1.1词法分析 12 
    2.1.2语法分析 13 
    2.1.3符号表管理 14 
    2.1.4语义分析 15 
    2.1.5代码生成 16 
    2.1.6编译优化 16 
    2.2 x86指令格式 18 
    2.3 ELF文件格式 19 
    2.4汇编程序的设计 21 
    2.4.1汇编词法、语法分析 22 
    2.4.2表信息生成 23 
    2.4.3指令生成 24 
    2.5链接程序的设计 25 
    2.5.1地址空间分配 25 
    2.5.2符号解析 26 
    2.5.3重定位 27 
    2.6本章小结 27 
    第3章编译器构造 29 
    3.1词法分析 29 
    3.1.1扫描器 30 
    3.1.2词法记号 32 
    3.1.3有限自动机 36 
    3.1.4解析器 40 
    3.1.5错误处理 53 
    3.2语法分析 55 
    3.2.1文法定义 55 
    3.2.2递归下降子程序 65 
    3.2.3错误处理 70 
    3.3符号表管理 74 
    3.3.1符号表数据结构 75 
    3.3.2作用域管理 78 
    3.3.3变量管理 82 
    3.3.4函数管理 88 
    第4章编译优化147 
    第5章二进制表示191 
    第6章汇编器构造219 
    第7章连接器构造263 
    参考文献
查看详情
系列丛书 / 更多
自己动手构造编译系统:编译、汇编与链接
微信公众平台开发最佳实践
方倍工作室 著
自己动手构造编译系统:编译、汇编与链接
Docker 技术入门与实战
杨保华、戴王剑、曹亚仑 著
自己动手构造编译系统:编译、汇编与链接
深入浅出React和Redux
程墨 著
自己动手构造编译系统:编译、汇编与链接
Node.js权威指南
陆凌牛 著
自己动手构造编译系统:编译、汇编与链接
LoadRunner性能测试巧匠训练营
赵强、邹伟伟、任健勇 著
自己动手构造编译系统:编译、汇编与链接
Solr权威指南:上卷
兰小伟 著
自己动手构造编译系统:编译、汇编与链接
Backbone.js实战
陶国荣 著
自己动手构造编译系统:编译、汇编与链接
Solr权威指南:下卷
兰小伟 著
自己动手构造编译系统:编译、汇编与链接
SAP HANA实战
刘刚、舒戈 著
自己动手构造编译系统:编译、汇编与链接
Ansible自动化运维:技术与佳实践
陈金窗、沈灿、刘政委 著
自己动手构造编译系统:编译、汇编与链接
深入理解Net-SNMP
张春强 著
自己动手构造编译系统:编译、汇编与链接
React Native 精解与实战
邱鹏源 著