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

8.3编译器负责转换源代码

时间:2023-02-07 09:12:03浏览次数:38  
标签:8.3 Windows 代码 编译器 本地 源代码 CPU

能够把C语言等高级编程语言编写的源代码转换成本地代码的程序称为编译器。

每个编写源代码的编程语言都需要其专用的编译器。将C语言编写的源代码转换成本地代码的编译器称为C编译器。
编译器工作是首先读入代码的内容,然后再把源代码转换成本地代码。编译器中就好像有一个源代码同本地代码的对应表。但实际上,仅仅靠对应表是无法生成本地代码的。读入的源代码还要经过语法解析、句法解析、语义解析等,才能生成本地代码。
根据CPU类型的不同,本地代码的类型也不同。因而,编译器不仅和编程语言的种类有关,和CPU的类型也是相关的。例如,Pentium等x86系列CPU用的C编译器,同PowerPC这种CPU用的C编译器就不同。从另一个方面来看,这其实是非常方便的。因为这样一来,同样的源代码就可以翻译成适用于不同CPU的本地代码了(如下图)。

 

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

 

 上图讲了确定编译器种类的三个关键词,分别是C语言、X86系CPU、Windows

 

标签:8.3,Windows,代码,编译器,本地,源代码,CPU
From: https://www.cnblogs.com/2674308160-lucky/p/17097238.html

相关文章

  • 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特性事务分类事务并发数据访问事务并发带来的一致性问题丢失更新......
  • 8.3 SQL Server非聚集索引
    SQLServerNon-ClusteredIndexes(非聚集索引)目录SQLServerNon-ClusteredIndexes(非聚集索引)简介使用SQLServerCREATE[NONCLUSTERED]INDEX创建非聚集索引示例A)使用C......