相对机器语言和汇编语言,C语言已经算是高级语言了。
相信你们已经知道什么是机器语言和汇编语言,如果有不知道的朋友可以关注参考编者的另外一篇文章:C语言基础:二进制和计算机语言杂谈(编程新手福利),当然也可以自行百度。
早期的机器语言没有编译器的概念,因为机器语言不过是很多的0和1,CPU(处理器)能够直接识别机器语言,C语言本身是为了提高开发效率而开发出的新语言,语义上几乎和现实世界表达意思一致,但是这样高级的语义可就难倒了计算机,它不认识像if-else、while等单词,那么计算机怎么识别C程序的呢,这就引出编译器的概念了。
编译器用于将高级语言向低级语言转化。
C程序写出来之后要经过编译,简单来说就是利用编译器将C语言.c后缀的源文件编译成.obj后缀的目标文件,然后在经过链接过程,生成可执行的文件,windows下就会生成一个exe的可执行文件。这个可执行文件就是一个二进制文件。它就能被CPU识别、运行了。
万变不离其宗,其实所有的高级语言都有类似编译器作用的东西。比如java的jre、C#的.net framework等都是一样的作用。因为计算机底层就只能识别0和1,再怎么高级的语言也无法改变。
好了,就说到这里,算是对这篇文章C语言初学者该如何选择编译器?哪个编译器好用?标题的纠正吧嘿嘿。