为什么可以用c语言实现C编译器,c编译器-c语言的编译器是干什么用的 爱问知识人...

本人不才,仅就个人意见谈谈:

1。什么是编译器:

简单的说,编译器是一种将高级语言经过其解释,翻译成可以运行的二进制代码(有可能是汇编代码,但这种方式处理不一样,还有编译成其他形式的如JAVA是编译成"字节码文件"),再通过它的连接程序就调用了系统内部的一些库,实际点说是操作系统的动态连接库,也就是你操作系统和硬件(BIOS)打交道而且已经写好的函数库(这个解释不是很准确,我现在学习其他语言的时候,对类似的说法有API(Application Interface 应用程序接口)调用系统动态连接库,注意:API是你的编译器提供的,也就是说你可以直接用他,而不需要写很多的底层的代码了,如果要很明确的说的话,就是一个应用程序接口需要很多的底层代码才能写出,而在你使用的C语言中只是一个语句而已,包括你写一个定义变量的语句: int i;计算机为什么能认识它,这就是它通过了二进制代码和汇编的组合完成了这个解释过程,而其功能,在内部需要很多的二进制代码和汇编代码。

)

2。汇编和二进制代码以及高级语言的联系和区别:

在上面谈到了很多这种问题,这里再详细说说,首先,二进制是电路的高低电平的采集组合,这是可以直接控制内部的电路,因此它从逻辑上讲是可以直接运行的,而这种数字让人难以记忆,所以,人们发明了一种汇编代码,便于记忆,其实,在内部的处理方式一样,只不过在屏幕上,你能看到字符,是和键盘相对应的,在理论上,只需要一个缓冲和ROM解释就可以实现了,虽然升级了一大步,但是要写出一个让计算机处理的逻辑顺序太麻烦了,也就是代码量太大了,写起来也容易出问题,然后,人们就将一些非常常用的处理模块模板化,升级为B语言,后来的C语言等等,现在又将这些语言继续升级,很多代码根本就不用自己写了,至少写的代码可以比以前少百倍甚至于千倍以上。

就像现在Microsoft所提供的开发软件VB,VC,VF等等。写代码的过程相当于在玩耍。尤其是做界面,根本不用写代码了。

3。编译器到底要干什么:

通过上面的一些理论解释,你应该有一定认识了吧,C语言编译器把它编译(JAVA语言中称为一种解释过程不过有一定的区别)连接,生成可执行文件(。

exe文件)现在的编译器可以运行,而且这三部可以同时完成,你看不出有什么区别,但这样对理论学习不好。其实,在你第一次运行成功后,就会生成一个后缀为"。exe"的文件,你双击它就可以运行了,而不用启动你的编译程序了(编译器其实也是一个程序,但其具体情况需要很多的知识解释,如果有兴趣可以查看),这可执行程序可以脱离于你的编译程序,但就C语言来说,由于其语言介于高级语言和低级语言之间,所以这种语言的移植性不是很高(这是经验)就是说,你把你的程序生成的。

exe文件(也是编译器帮你完成的)拷贝到别人的电脑上不一定好用。

好了,有其他意见可以商讨:xieyuooo@ 。

全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值