为什么c语言可以驱动硬件?
为什么c语言可以驱动硬件? 很多语言都可以吧,有功能模块调用 豆知识:所有的语言都可以驱动硬件 艾莉希雅 发表于 2021-8-20 00:00豆知识:所有的语言都可以驱动硬件
可为什么老师说底层硬件驱动必须用c写 因为现成编译器的缘故,开发效率高,编译方便 因为可以操作内存,当然C++也是可以的。 bsjasdq 发表于 2021-8-20 00:08
可为什么老师说底层硬件驱动必须用c写
照这样说汇编是抬不起头了 bsjasdq 发表于 2021-8-20 00:08
可为什么老师说底层硬件驱动必须用c写
可能C兼容性比较好吧 本帖最后由 icie 于 2021-8-20 07:30 编辑
第一,主要是可以通过指针按硬件地址访问各种寄存器,这是驱动硬件的基本要求。
第二,各种硬件所使用的处理器种类繁多,意味着汇编代码、二进制代码不一致,但其编译器都支持从C语言到底层二进制的转换 因为驱动硬件是二进制语言,难写,后来有的汇编,汇编可以翻译成二进制,最后用c是因为c比汇编更容易写,容易看懂,后期容易维护,而且c是直接翻译成汇编的,不像别的语言,比如java,翻译的是字解码,无法驱动硬件,还得用接口调用c,所以底层都是c或c++写的,运行速度快