c语言怎么进行硬件编程

来源:百度知道 编辑:UC知道 时间:2024/06/01 02:36:29
C语言既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它有汇编语言特点是不是可以对硬件直接进行操作?它是怎样对硬件进行操作的?我记得好像没有可以直接对硬件进行操作的指令啊。
我已经知道答案了,这问题还是问我项目经理得到解决的。C语言可以直接操作内存的具体地址,你们的答案说到了一点,但不直接,怎么操作也没有说,看了后还是不懂,所以不能给分,这问题无满意答案,结束了。

如果是做应用,是通过系统调用。
如果是要做驱动程序,需要自己自写。(参考1楼的意见)

主要通过对硬件控制器的寄存器写控制指令完成。操作系统对端口地址做了内存映射的,只要对端口的地址写控制码,就像对内存空间写数据一样就可以完成对硬件的操作。

寄存器或嵌入汇编

呵呵,对硬件直接操作的只有为"硬件特地编辑的二进制指令".
C语言确实是有汇编的特点,但不能对硬件直接进行操作. 必须通过编译和连接后产生(.EXE)文件才可以间接操作系统.
理论上是C语言编辑---编译---连接---这几个步骤后生成机械指令(这里指二进制指令)才可以间接操作系统.

显示器,打印机,硬盘,键盘都是通过:C语言编写的驱动程序再调用设备的.
还有别的问题吗?