什么是编译器(编程软件)?

总的来说,你所谓的编程语言其实就是软件,叫做编译器,它读取文本文件,做了许多处理,并生成二进制文件。大白话的讲,就是负责“翻译”或“解释”代码的一个软件!

编译器可以是任何一个能将一个文本翻译为另一个文本的程序。比如C语言、C++这样的程序,当我们一行一行写下代码后,需要经过编译器的“翻译”才能变成可执行程序才可以执行。才可以实现代码到程序的转变,而这一切都需要编译器帮我们去做。

编译器做了什么?

简单来说,编译器读取源代码生成二进制文件。由于直接将复杂的、人类可读的代码转为一和零是非常复杂的,编译器在程序可运行前有几个步骤要做:

读取你给它的源代码中的独立字符。

将字符分类为字,数字,符号和操作符。

获取已排序完的字符,并通过将它们与模式匹配相匹配和生成操作树来确定它们尝试进行的操作。

迭代上一步中生成操作树中的每一个操作,并生成等效的二进制文件。

当我说编译器立刻从一个操作树转化到二进制文件时,它实际生成了汇编代码,汇编代码随后被汇编/编译成二进制文件。汇编像是更高级的,人类可读的二进制文件。

那么问题来了,我们学编程,比如C语言,又是32个关键字、又是各种函数,还有各种语法,学这些不就为了写代码让电脑执行吗?为什么还要编译器“翻译”呢?

答案很简单,因为:电脑(其实主要就是CPU)只认识0或1这两个数字。所有写的一切代码,都需要编译器帮我们编译也就是翻译成大量的01代码,才是CPU的“母语”,CPU才会熟练的帮我们飞一般的帮速度执行。

那么你可能又会问,既然CPU只认识0和1,反正也要翻译一遍,那我们还学什么编程,学什么语法,直接用汉语写命令写代码不行吗?

答案是:当然可以,比如易语言,或号称一句话就可以完成一个功能的swift语言等等。

无论哪种语言,想要最终成为可执行的程序,都需要编译器帮我们去编译才可以实现! 无非是语言的高级与否,影响编译器翻译量多少而已!源码要运行,必须先转成二进制的机器码。

以C语言为例,常见的编译器有:

Windows系统下VC/VS系列编译器为cl.exe

Linux系统下原生自带的gcc编译器

Max系统下的LLVM/CLANG编译器

这些编译器的使用方式常常在DOS或命令提示符下,通过一步步的命令进行操作,需要经过编译、链接才会生成对应的可执行文件

什么是IDE(集成开发环境)?

简单讲,就是比编译器功能更全面更强大界面更友好的软件

我们实际学习和开发过程中大家听到或见过的基本都是IDE(集成开发环境),比如VC6.0、VS2012、CodeBlocks等等,他们的核心还是前面提到的编译器,只不过为了大家方便,全部免去命令形式的操作,取而代之的友好的界面,一键编译等方便的操作,还额外提供包括代码高亮、代码调试、项目管理等高级功能

常见的编译器有:

TurboC2.0

VC6.0

VS系列(比如VS2012)

CodeBlocks

DevCpp

C-Free

等等

C/C++的学习裙【七一二 二八四 七零五 】,无论你是小白还是进阶者,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!点我加入

什么是编译器(编程软件)?相关推荐

  1. c程序设计语言用什么编译器,什么是编译器(编程软件)

    什么是编译器(编程软件)? 大白话的讲,就是负责"翻译"或"解释"代码的一个软件! 比如C语言.C++.Java这样的程序,当我们一行一行写下代码后,需要经过编 ...

  2. 打开c语言运行不了_手机上有哪些不错的c语言编程软件?

    世界那么大,谢谢你来看我!!关注我你就是个网络.电脑.手机小达人 手机上编程C语言的软件其实非常多,下面我介绍2个不错的软件,分别是C语言编译器和C++编译器,这2个软件都可以在手机上直接编译运行C语 ...

  3. python做电脑软件-Python编程软件(专业电脑编程工具)V3.9.1 最新版

    Python编程软件(专业电脑编程工具)是一款十分优秀好用的专业电脑编程辅助工具.哪款编程工具比较好用?小编为你推荐这款Python编程软件,功能强大全面,使用后可以帮助用户更轻松高效的进行电脑编程操 ...

  4. python官网的软件-Python编程软件 V3.9.0 官方最新版

    相关软件 软件大小 版本说明 下载地址 python3.9版是一款非常专业的电脑编程软件.相信有不少用户已经体验过之前的版本了,那么现在最新的版本3.9.0版本,已经在本年度向广大用户推出,更强大的功 ...

  5. 如何编程软件(编程序入门)

    ​​​​​​​如何编程软件(编程序入门) 你在家过得怎么样?是不是每天穿衣服伸手张嘴的时候,当然经常伴随着妈妈的"不喜欢"和"唠叨"?哈哈~ 文章来源:博学谷 ...

  6. c-free语言编程软件,c-free软件下载_c-free官方下载_3DM软件

    <C-Free>是专门针对有编程需要的用户所设计的一款编程软件,C-Free可以帮助用户很方便的进行编程过程,界面简洁,功能强大,还支持多种编译器.有需要的用户快来下载吧! 软件简介 C- ...

  7. 宏定义编程软件_什么是计算机编程? 定义软件开发。

    宏定义编程软件 My five year old son, Ramy, approached me one day while I was working from home and asked, & ...

  8. 初学者c语言编程软件_C初学者手册:仅需几个小时即可学习C编程语言基础知识

    初学者c语言编程软件 This C Beginner's Handbook follows the 80/20 rule. You'll learn 80% of the C programming ...

  9. c++手机编程软件_今天小编推荐几款好用的手机编程APP!

    各位,很多人现在喜欢用手机写代码,今天小编就带大家盘点几款手机端编程软件. 1.C4droid ●[适用编程语言] C/C++ [适用平台] Android 2.2+ [软件介绍] 付费软件(国内免费 ...

  10. php7.2.3下载,最新PHP编程软件v7.3.2.0 官方版下载地址电脑版-锐品软件

    PHP编程软件是一款针对新型的php编程语言的编程开发工具,它可以方便快捷地编写出功能强大,运行速度快,并可同时运行于 Windows.Unix.Linux 平台的Web后台程序,是一款非常强大的开发 ...

最新文章

  1. Net设计模式实例之享元模式( Flyweight Pattern)
  2. 一些面试题(JAVA)
  3. 数据库系统概论:第五章 数据库完整性
  4. ps -aux|grep 详细信息
  5. elasticsearch 7.8.0 kibana 7.8.0安装部署
  6. 有关文学知识对我大学生活的影响
  7. jooq_jOOQ API设计缺陷的怪异事件
  8. 列表反向组成数字相加,并输出数组反向组成列表
  9. jq中使用promise封装ajax
  10. 【POJ1804】Brainman 【求逆序数】
  11. c语言中find的作用,c语言find函数的用法详解
  12. 学会这六种方法,让你的设计变得中国风
  13. python考勤记录_python做考勤统计
  14. Android的build-tools的下载方式
  15. 编程界的十大天神,都来拜一拜吧
  16. 并行计算、分布式计算、网格计算讲解
  17. 高德sdk定位当前位置_高德api获取当前位置
  18. excel条件格式使用详细步骤
  19. 观音灵签 第六十四签下签卯宫 古人马前覆水
  20. PRESTO SQL总结分享

热门文章

  1. SpringBoot接口加密与解密
  2. cad2022新功能介绍(autocad2022简体中文版)
  3. Python用Pyinstaller打包成的exe文件反编译成*.py文件
  4. Netsparker
  5. linux设置自动清除内存碎片
  6. 一个完整的网络工程项目【很难得找到的 相当详细完整】
  7. H5网页等链接被微信秒封(拦截、屏蔽、和谐)后最好的解决方法
  8. BAT代码表白实用详细操作
  9. 西门子step7安装注册表删除_西门子STEP7程序安装与卸载教程
  10. IDEA常用快捷键总结