吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2332|回复: 32
收起左侧

[求助] 为什么c语言可以驱动硬件?

[复制链接]
白云点缀的蓝 发表于 2021-8-19 23:08
为什么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吾爱币 +1 热心值 +1 收起 理由
白云点缀的蓝 + 1 + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-26 05:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表