白云点缀的蓝 发表于 2021-8-19 23:08

为什么c语言可以驱动硬件?

为什么c语言可以驱动硬件?

52jcool 发表于 2021-8-19 23:33

很多语言都可以吧,有功能模块调用

艾莉希雅 发表于 2021-8-20 00:00

豆知识:所有的语言都可以驱动硬件

白云点缀的蓝 发表于 2021-8-20 00:08

艾莉希雅 发表于 2021-8-20 00:00
豆知识:所有的语言都可以驱动硬件

可为什么老师说底层硬件驱动必须用c写

304775988 发表于 2021-8-20 00:31

因为现成编译器的缘故,开发效率高,编译方便

hehe178 发表于 2021-8-20 00:39

因为可以操作内存,当然C++也是可以的。

myweb1996 发表于 2021-8-20 00:53

bsjasdq 发表于 2021-8-20 00:08
可为什么老师说底层硬件驱动必须用c写

照这样说汇编是抬不起头了

vscos 发表于 2021-8-20 06:12

bsjasdq 发表于 2021-8-20 00:08
可为什么老师说底层硬件驱动必须用c写

可能C兼容性比较好吧

icie 发表于 2021-8-20 07:05

本帖最后由 icie 于 2021-8-20 07:30 编辑

第一,主要是可以通过指针按硬件地址访问各种寄存器,这是驱动硬件的基本要求。
第二,各种硬件所使用的处理器种类繁多,意味着汇编代码、二进制代码不一致,但其编译器都支持从C语言到底层二进制的转换

GuiXiaoQi 发表于 2021-8-20 07:35

因为驱动硬件是二进制语言,难写,后来有的汇编,汇编可以翻译成二进制,最后用c是因为c比汇编更容易写,容易看懂,后期容易维护,而且c是直接翻译成汇编的,不像别的语言,比如java,翻译的是字解码,无法驱动硬件,还得用接口调用c,所以底层都是c或c++写的,运行速度快
页: [1] 2 3 4
查看完整版本: 为什么c语言可以驱动硬件?