大家好,今天小编关注到一个比较有意思的话题,就是关于c语言原因的问题,于是小编就整理了2个相关介绍c语言原因的解答,让我们一起看看吧。
C语言源自于什么语言呢?C语言源自于什么语?
B语言是C语言的前身,C语言是以B语言为基本开发的, C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。
B语言是贝尔实验室开发的一种通用的程序设计语言,它是于1969年前后由美国贝尔实验室的电脑科学家肯·汤普森(Ken Thompson)在丹尼斯·利奇(Dennis Ritchie)的支持下设计出来。
C语言是一门通用计算机编程语言,应用广泛。1***2年,美国贝尔实验室的 D.M.Ritchie 在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
单片机为什么还在用C语言编程?
1.汇编太麻烦,移植性差;
2.C/C++为操纵硬件而生,它的编译器编译成的目标平台机器码可直接运行,并非生成字节码或者脚本;
3.JAVA,.NET语言编译出来的程序是字节码,需要庞大的运行环境将字节码实时翻译成机器码才能运行;
4.Python,Ruby等属于脚本语言,需要解释器逐条解释(pyo可以无视),比字节码性能更差;
5.单片机性能差,实时性要求高,而且没有强大的运行环境和解释器,故一般不能运行JAVA,.NET,Python,Ruby等程序,倒是可以执行Lua这样轻量级脚本。
C语言是最适合的,没有之一!
目前单片机常用开发语言也就汇编语言和C语言。 汇编语言虽然有着优化程度高,可控性更好的优点,但是由于不同单片机***用不同的汇编指令,导致汇编编程学习难度大,易读性差,可移植性差的缺点。
C语言则避免了这些缺点。由于C语言已基本与汇编指令无关,所以对于同一功能的实现,你只需要寄存器的不同,更容易移植。并且,由于C语言***用模块化编程,易读性大大提高。
单片机内存小,譬如一些用于小家电的8位单片机,内存是以K算的,所以用汇编或C编译出来的目标二进制代码是最小最高效的,JAVA,C#之类的语言,他们本身是需要JVM或CLI的虚拟机环境来解释代码运行,效率太低,而且内存占用太高,只能用于相对高端的应用程序开发。任何单片机的引导层或驱动层,都是使用汇编或C开发。
其实PASCAL也是可发展为单片机开发语言,可是业界都以ASM与C为标准,没企业开发基于PASCAL嵌入式编译器,所以,就只有C和汇编适合单片机开发了。
最后附上一个视频大家看看,一位大牛用JS写的8位CPU指令流水执行时内部硅晶电路运行的模拟情况,浏览器可以运行,模拟器可以真实执行6502机器码。
6502CPU是70年代末,乔布斯用来做appLE II电脑时用的芯片,也是后期中华学习机任天堂FC,小霸王学习机等产品使用的芯片,没什么商业价值,但是有研学价值。
地址:***://visual6502.org/JSSim/
单片机***有限,最好使用汇编,但是汇编移植性差,跳转要写标号,有时一段代码跳转条件多了,写标号名称要想半天,换平台后修改麻烦,不亚于重新写,而c语言移植性好,换个平台修改寄存器相关配置就可以重新使用了,节省时间,一般经常用的比如除法乘法运算用汇编写,c语言直接嵌入,可以提高效率,加快运行速度。
到此,以上就是小编对于c语言原因的问题就介绍到这了,希望介绍关于c语言原因的2点解答对大家[_a***_]。