快速导航
从头开始学习C++(C++Primer第五版)
从头开始学习C++(C++Primer第五版)
- 预热一下:我自己是学过C、C++、Java、Javascript 这四个,但是现在还是不清楚这之间的共同的和区别。因此,有必要预热一下。
- 关于什么是编译性语言和解释性语言:
- 参考链接:编译性语言和解释性语言的区别
- 我自己的整理:以下用C语言代替编译性语言,Javascript代替解释型语言。C语言在我以前用VC++写过之后,有一个 .exe文件,而这个文件可以直接点开使用,就好像一个程序一样。比如我下载的游戏,有一个launch.exe文件,点击可以运行游戏了。而Javascript这样的,写过之后只是出来一个文本格式的文件,可以是记事本,可以是HTML,或者别的,但是C语言就看不到源代码。在我们需要运行Javascript的时候,会通过一个叫做解释器的 .exe 文件(程序)运行,先将需要运行的那句人能看懂的源代码转为二进制码,再运行。综合比较一下:1、 C语言编写的好处,就是只需要将源代码编译一次,转为二进制生成 .exe 文件,就可以反复运行了,点开,关闭就行。但是看不到源码,并且你也知道这个文件不一定能在任何的系统上运行,比如在Windows可以,在MacOS不一定行。也可能在64位系统行,32位不行,局限性大。2、 Javascript编写的源代码,好处是每个系统都有对应的解释器,然后需要哪条语句就执行哪条,可以做到 “ 到处执行 ”。但是比较慢,因为要先编译再执行,而C语言的直接执行了。
- 半编译半解释:典型代表Java、C#
- Java是将人能看懂的源代码,通过编译器转为 .class的字节码文件(人和机器都看不懂),然后将这个字节码文件,转给给个系统上面的不同的JVM虚拟机运行,可以做到到处运行。可是为什么不直接成为解释性的呢?还要多一个转为字节码的步骤呢?其实我试验过,我们在写代码的时候会加很多注释,这些注释其实没有用,转为字节码就是筛掉这些注释,提取有用的,让文件小点,同时可以重复使用(这里我不太懂)。