本节书摘来自华章社区《编译与反编译技术实战》一书中的第2章编译器实践概述,作者刘晓楠 陶红伟 岳 峰 戴超,更多章节内容可以访问云栖社区“华章社区”公众号查看

第2章
编译器实践概述
人与计算机之间的交流也是通过语言进行的,但人类能理解的语言与机器可以理解的语言是不同的,中间需要翻译,因此,相应的编译器诞生了。编译技术所讨论的问题就是如何把符合人类思维方式的意愿(即源程序)翻译成计算机能够理解和执行的形式(即目标程序),而实现从源程序到目标程序转换的程序被称为编译程序或编译器。最早的编译器是20世纪50年代后期的Fortran编译器,该编译器也为后续高级语言和编译器的涌现奠定了基础。与编译技术相反,反编译技术所讨论的问题就是如何把计算机能够理解和执行的形式(目标程序)翻译成符合人类便于理解的形式(源程序或流程图),实现从目标程序到便于人类理解的系列文档的转换程序被称为反编译程序或反编译器。反编译技术起源于20世纪60年代,虽然在时间上只比编译技术晚10年左右,但反编译技术的成熟度却远不如编译技术。半个世纪以来,也涌现了不少实验性的反编译器,如Dcc、Boomerang和IDA的反编译插件Hex_rays等。但这些反编译器都有这样或那样的缺陷,还不能像编译器那样强健。
本章仅对编译器实践方面的知识进行简要阐述,反编译实践方面的概要介绍将在后续章节给出。

《编译与反编译技术实战》——第2章编译器实践概述相关推荐

  1. 《编译与反编译技术实战 》一2.3 编译器的设计与实现概述

    本节书摘来自华章出版社<编译与反编译技术实战 >一书中的第2章,第2.3节,庞建民 主编 ,刘晓楠 陶红伟 岳 峰 戴超 编著,更多章节内容可以访问云栖社区"华章计算机" ...

  2. 《编译与反编译技术实战》——第1章 实践的环境与工具 1.1 实践环境概述

    本节书摘来自华章计算机<编译与反编译技术实战>一书中的第1章,第1.1节,作者 刘晓楠 陶红伟 岳峰 戴超,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第1 ...

  3. 《编译与反编译技术实战》——2.1节编译器、解释器及其工作方式

    本节书摘来自华章社区<编译与反编译技术实战>一书中的第2章,第2.1节编译器.解释器及其工作方式,作者刘晓楠 陶红伟 岳 峰 戴超,更多章节内容可以访问云栖社区"华章社区&quo ...

  4. 《编译与反编译技术实战》——导读

    前 言 "编译技术"是从事软件开发和信息安全相关工作的技术人员必须掌握的基础性技术,也是高等院校计算机科学与技术和软件专业的一门必修专业课,这是理论与实践结合非常强的领域,对提升开 ...

  5. 《编译与反编译技术实战》——1.2 词法分析生成器LEX

    本节书摘来自华章计算机<编译与反编译技术实战>一书中的第1章,第1.2节,作者 刘晓楠 陶红伟 岳峰 戴超,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1. ...

  6. 《编译与反编译技术》——第一章 引论 1.1节编译器与解释器

    本节书摘来自华章出版社<编译与反编译技术>一书中的第1章,第1.1节,作者庞建民,陶红伟,刘晓楠,岳峰.更多章节内容可以访问云栖社区"华章计算机"公众号查看. 人类之间 ...

  7. 《编译与反编译技术》—第1章1.7节C语言程序的编译流程

    本节书摘来自华章出版社<编译与反编译技术>一书中的第1章,第1.7节C语言程序的编译流程,作者庞建民,陶红伟,刘晓楠,岳峰,更多章节内容可以访问云栖社区"华章计算机"公 ...

  8. python源代码的后缀名是_Python代码编译与反编译

    众所周知,Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议.那么很自然会有人有这样的疑问:难道Python程序只能以 ...

  9. Java——编译与反编译

    ** 一.基础知识 ** 1.1 编程语言 在介绍编译和反编译之前,我们先来简单介绍下编程语言(Programming Language).编程语言(Programming Language)分为低级 ...

最新文章

  1. Hive中的一种假NULL
  2. Perl迎来25岁生日
  3. java锁原理_Java锁原理学习
  4. java excel 转txt_用Java实现excel转txt
  5. knx智能照明控制系统电路图_汇勒智能照明控制-KNX/EIB系统如何安装跟布线的
  6. MFC Windows 程序设计(二)-初尝禁果
  7. matlab矩阵对角线上下加减,matlab – 如何在相关矩阵中移动靠近矩阵对角线的较大值...
  8. Mac 右键的一些方法
  9. html价格划掉的样式,用css布局价格划线_价钱中划线_价格中间贯穿删除线效果样式布局...
  10. 单片机继电器控制实验程序C语言,用单片机通过继电器来控制电热水器的实验...
  11. 《你坏-大冰》阅读笔记
  12. 关于Oracle 12c ocp认证考试
  13. UVALive 4043 Ants(最大权匹配)
  14. head和tail命令--用Enki学Linux系列(8)
  15. android IPC通信(下)-AIDL
  16. [系列] - go-gin-api 规划目录和参数验证(二)
  17. 苹果切换输入法_轻松搞定缅甸语手机输入法(苹果篇)
  18. CCF- CSP 201912-2回收站选址 巧用STL实现O(n)时间复杂度 满分题解
  19. matlab插值龙格实验,实验二 拉格朗日插值龙格现象.doc
  20. 前端成神之路-阿里百秀

热门文章

  1. MVC小型商务网站实例(2)--项目架构
  2. 贝塞尔曲线(B′ezier)基础
  3. 汇编语言随笔(14)-直接定址表、检测点16和实验16
  4. 汇编语言随笔(5)-and、or指令,串传送指令movsb、访问内存单元的方式及实验4,5(向内存传送数据)
  5. 【区块链】Truffle 部署 编译 测试 智能合约 的 完整实践操作
  6. 配置虚拟主机 和 打war包
  7. MyBatis3: There is no getter for property named 'code' in 'class java.lang.String'
  8. 利用JDK工具进行系统性能监测
  9. 《Microsoft Sql server 2008 Internal》读书笔记--第八章The Query Optimizer(1)
  10. HttpServlet中的service方法