首页 > 其他分享 >8.3编译器负责转换源代码

8.3编译器负责转换源代码

时间:2023-02-07 09:24:20浏览次数:35  
标签:8.3 编程语言 代码 编译器 本地 源代码 CPU

能够把C 语言等高级编程语言编写的源代码转换成本地代码的程序称为编译器。每个编写源代码的编程语言都需要其专用的编译器将 C语言编写的源代码转换成本地代码的编译器称为 C 编译器。

编译器首先读入代码的内容,然后再把源代码转换成本地代码编译器中就好像有一个源代码同本地代码的对应表。但实际上,仅仅靠对应表是无法生成本地代码的。读入的源代码还要经过语法解析句法解析、语义解析等,才能生成本地代码。

根据 CPU类型的不同,本地代码的类型也不同。因而,编译器不仅和编程语言的种类有关,和 CPU 的类型也是相关的。例如,Pentium等x86 系列 CPU用的C编译器,同PowerPC 这种CPU用的C编译器就不同。因为这样一来,同样的源代码就可以翻译成适用于不同 CPU 的本地代码了(图 8-5)。

因为编译器本身也是程序的一种,所以也需要运行环境。例如.有 Windows 用的C编译器、Linux 用的 C编译器等。此外,还有一种交叉编译器,它生成的是和运行环境中的CPU不同的 CPU 所使用的本地代码。例如,在 Pentium 系列 CPU的 Windows 这一运行环境下也可以作成 SH及MIPS等CPU 用的 Windows CE程序,而这就是通过使用交叉编译器来实现的。

读到这里大家可能稍微有一些混乱,不妨让我们来梳理一下。大家在计算机软件商店等处购买编译器时,可能会跟店员说明3 点:“想要买的是何种编程语言用的编译器”“编译器生成的本地代码是用于哪种 CPU的”以及“该编译器是在什么环境下使用的”(图8-6)。而实际上,通常只要说明产品名及版本就可以了。

 

标签:8.3,编程语言,代码,编译器,本地,源代码,CPU
From: https://www.cnblogs.com/z1218/p/17097258.html

相关文章

  • 8.3编译器负责转换源代码
    能够把C语言等高级编程语言编写的源代码转换成本地代码的程序称为编译器。每个编写源代码的编程语言都需要其专用的编译器。将C语言编写的源代码转换成本地代码的编译器称......
  • VS编译器堆空间不足
    ref:https://blog.csdn.net/zyhse/article/details/117417484解决办法:打开xxx.vcxproj文件,搜索“Globals”在文件中找到<PropertyGroupLabel=“Globals”,然后在这个节......
  • 7.4FreeBSD Port帮你轻松使用源代码
    API也称为“系统调用”,是应用调用操作系统功能的手段。Unix系列操作系统FreeBSD中,存在一种名为Ports的机制。该机制能够结合当前运行的硬件环境来编译应用的源代码,进而得......
  • 7.4FreeBSD Port帮你轻松使用源代码
    API也称为“系统调用”,是应用调用操作系统功能的手段。Unix系列操作系统FreeBSD中,存在一种名为Ports的机制。该机制能够结合当前运行的硬件环境来编译应用的源代码,进而得到......
  • 论文阅读: CCF A 2021 PROGRAML:用于数据流分析和编译器优化的基于图的程序表示 (PMLR
       Motivation:  编译器实现是一项复杂而昂贵的活动。出于这个原因,人们对使用机器学习来自动化各种编译器任务产生了极大的兴趣,大多数工作都将注意力限制在选择编......
  • GMVSE源代码学习记录之“参数配置”
    一、参数配置Parameters:NameTypeDescriptionNotemodeenum(str)pretrain,trainorevaluate.模式:预训练、训练、评估data_filenamestrdatafile(e.......
  • 源代码分析改善客户体验:静态分析工具Klocwork通信行业案例
    Polycom,Inc.是全球一体化协作通信的领导者。是专业开发、制造和销售高质量音视频会议系统及解决方案的领先提供商。Polycom的产品通过让人们在全球范围内进行协作和交流,就......
  • 直播平台源代码,vue3 provide与inject进行状态管理
    直播平台源代码,vue3provide与inject进行状态管理一、数据仓库准备在store–>新建index.js文件,作为仓库数据 状态集中管理数据实现响应式refreactive—>对象中存储......
  • [快速学]C/C++编译器
    编译器谁维护平台版权VisualC++Microsofthttps://visualstudio.microsoft.com/MicrosoftWindows有免费版GCCCGNUhttps://www.gnu.org/多平台GP......
  • 18.3 SQL Server事务与锁详解之(事务篇)
    SQLServer事务与锁详解之(上篇)-事务目录SQLServer事务与锁详解之(上篇)-事务简介事务的基本知识事务ACID特性事务分类事务并发数据访问事务并发带来的一致性问题丢失更新......