C语言怎样直接实现控制硬件
C语言怎样直接实现控制硬件,比如C语言中的printf(),这个函数本身使用C语言编写的,但是C语言本身并没有直接控制硬件的指令,那么printf这个函数是不是用汇编语言...
C语言怎样直接实现控制硬件,比如C语言中的printf(),这个函数本身使用C语言编写的,但是C语言本身并没有直接控制硬件的指令,那么printf这个函数是不是用汇编语言编写的或者是用C语言中的位运算编写的?
展开
4个回答
展开全部
如何对硬件进行控制是由操作系统管理的,操作系统提供一些系统调用供用户程序使用。操作系统本身可由高级语言编写,但须经编译成为机器语言后计算机才能识别并执行。
如你所说的printf(),这个函数本身也是由C语言编写,但里面会有一个有关输出的系统调用,当执行到系统调用时,将有操作系统完成具体的输出工作
如你所说的printf(),这个函数本身也是由C语言编写,但里面会有一个有关输出的系统调用,当执行到系统调用时,将有操作系统完成具体的输出工作
追问
操作系统中直接控制硬件的程序是用汇编语言编写的吗?这样的话能够控制硬件的只有汇编语言啊?
追答
早期操作系统是由汇编写的,后来便使用如C一类的高级语言编写。一种语言是否能直接控制硬件主要看他本身是否提供硬件控制的语句和其编译器如何翻译该程序。如C本身没有硬件控制语句,但在某些特殊IDE中仍可使用C语言进行硬件控制,如单片机编程多用C语言
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-07-06
展开全部
主要通过对硬件接口地址的读(取数据)写(发命令)操作,使用函数(8位读写)inportb(int port); outportb(int port, char byte);(16位读写)inportw(unsigned short int port);outportw(unsigned short int port, unsigned short int value)。在VC下分别用_inp()和_outp代替。
追问
我想知道C语言如果不调用任何库函数怎样实现控制硬件,能不能用位运算实现?具体怎样实现
追答
位运算也是在端口读写的基础上,如对某位置0或1,需要通过与或关系再移位得到。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能 C语言设计为跨平台编译 不可能有直接硬件操纵指令
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询