c语言==简介及相关常识(3)

问:为什么要学习c语言?

答:因为内核的编写是用的c语言,为了方便编写与修改,我们一般使用c语言

问:为何内核的编写要使用c语言?

答:因为c语言有三大优点
1、c语言有出色的可移植性,能在多种不同体质结构的软、硬平台上运行。

2、c语言具有简洁紧凑,使用灵活的语法机制,并能够直接访问硬件

3、c语言有很高的运行效率

注:
移植:指的是将一段代码运用到不同的软、硬平台上。
移植性好:一串代码不需要修改或修改很少即可运用到别的软硬平台上

直接访问硬件:操作系统(如内核)的功能是管理资源,管理软件及硬件资源,如Java间接访问硬件,而c语言之间访问,效率高

问:汇编语言和c语言均能直接访问硬件,那为何不用汇编语言呢?

答:c语言访问硬件与汇编语言访问硬件有如下区别:
汇编语言直接访问硬件,而c语言要编译之后才可以访问硬件。
但汇编语言是一种低级语言,编写不易。c语言是高级语言,可以实现功能。
其实在内核中,c语言也嵌套使用了汇编语言(因为汇编语言访问硬件的效率更高),所以对于简单硬件的初始化利用汇编语言,而对一些复杂硬件的操作使用c语言

c语言很高的运行效率:能够直接编译成机器码,硬件直接能懂。而如Java,他是一种解释性语言,需要中间翻译,效率较低

c语言之父、UNIX之父

丹尼斯·里奇

c语言的标准

是根据编译器所能识别的标准进行选择的,包括
K&RC:
C11:很少有编译器能支持。微软和ios能够支持
C89/ANSIC:有很多编译器都支持,如gcc就完全支持这个标注
C99:gcc部分支持


c语言与c++也有一定的区别。

如c语言是面向结构(过程)处理机制,而c++是面向对象的处理机制

面向结构:是追求实现的过程,处理细微具体的事物,例如从A地去B地,要考虑的是是否要带伞,走多久,路上的路况,注重的是解决这个问题的具体操作。
面向对象:追求实现的结果,进行宏观处理。例如从A地去B地,就不再关注他路上的情况了,就相当于打了一俩出租。只要能到B地就行,注重的是结果。

面向对象的好处:有很好的代码复用性,维护性和扩展性
扩展性:添加新功能时不需要修改原来的代码

c++的三大特性:多态,封装,继承

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值