编辑
概念
C++程序的编辑即为,对代码的编写过程,完成这种过程需要借助相关软件,该类软件叫做C++代码编辑器。
编译和解释
概念
计算机只能识别由0、1组成的二进制代码,称为机器码。所以我们现在使用高级编程语言编写的程序就需要一个翻译过程,将其转换成计算机认识的二进制代码,而这个翻译过程就是由编译器(Compiler)或者解释器(Interpreter)完成的。采用编译器进行翻译的语言被称为编译型语言,而采用解释器进行翻译的语言被称为解释型语言。
1. 编译型语言(代表:C、C++、汇编语言)
对于编译型语言,编写完成后,编译器将所有的源代码转换成包含机器码可执行程序(比如WIn系统下的.exe程序),便可直接运行。之后便可以随时运行这个可执行程序而不用再次编译,所谓“一次编译,无限次运行”。
但编译型语言有一个明显的弊端,就是生成的可执行程序无法跨平台运行。所谓跨平台意为在Win系统下生成的可执行程序.exe无法在Mac/Linux等其他系统下运行。有些情况下甚至源代码在不同平台下的含义也不一样,比如C语言的long整型变量在Win与Linux下占用的字节数就不同。总的来讲编译型语言的移植性较差,但由于其不需要每次执行的时候都编译,所以执行速度快。
2. 解释型语言(代表:Python、JavaScript、PHP、Shell)
对于解释型语言,每次执行程序都需要一边翻译一边执行,用到哪些源代码解释器就将其转换成机器码,没用到的就不进行翻译。由于每次执行都要进行编译,所以解释型语言的效率低于编译型语言,甚至是数量级的差距。因此一般计算机的底层功能、关键算法或者嵌入式程序都由编译型语言开发、而一些应用软件、网站、小工具才使用解释型语言开发。
解释型语言最大的优点便是跨平台性。只要我们在不同的平台安装了对应的解释器,同一段代码便可在各个平台运行,所谓“一次编写、到处运行”。注意这里各个平台的解释器本质上是可执行文件,无法跨平台,跨平台的是源代码,不是解释器本身。
比如大名鼎鼎的python,现在就可以在Linux、Windows、MacOS、Android、FreeBSD等平台上运行,可移植性很强。
3. 半编译半解释型语言(代表:Java、C#)
这类语言的编译器首先将源代码转换成一种中间文件(字节码文件),然后再将这种中间文件拿到专门的虚拟机中执行(如Java的JVM)。这样兼顾了运行效率以及跨平台性,字节码文件是可以在不同平台的虚拟机上运行的。
调试
概念
让程序在系统中运行之前的查错和改错;让程序在调试器中运行,用这种手段对程序进行分析,找出并修正潜在的问题并改正,让我们的代码能够正常运行或者更加优化。
标签:解释器,语言,编译,跨平台,2.1,源代码,基本概念,运行 From: https://www.cnblogs.com/why-1017/p/18011812