C语言怎样直接实现控制硬件

C语言怎样直接实现控制硬件,比如C语言中的printf(),这个函数本身使用C语言编写的,但是C语言本身并没有直接控制硬件的指令,那么printf这个函数是不是用汇编语言... C语言怎样直接实现控制硬件,比如C语言中的printf(),这个函数本身使用C语言编写的,但是C语言本身并没有直接控制硬件的指令,那么printf这个函数是不是用汇编语言编写的或者是用C语言中的位运算编写的? 展开
 我来答
乐跑小子
2016-01-14 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:7%
帮助的人:4656万
展开全部
  1. 如果是电脑程序的话,譬如你在vc6.0里面c语言里面编写一个程序,那么vc6里面的编译器会把你的c语言语句按照对应的关系翻译成你计算机能识别的计算机语句,然后你电脑cpu会按照这些指令来控制你的硬盘,内存读写之类的硬件操作。

  2. 如果是单片机之类的话,譬如你在keil里面用c语言编写了一个单片机程序,那么keil的编译器会把你的c语言程序编写成汇编语言程序文件,然后把那个汇编程序文件烧到单片机芯片上就可以让芯片按照指令工作了。

NaNi_Z
推荐于2017-09-08 · TA获得超过170个赞
知道小有建树答主
回答量:88
采纳率:0%
帮助的人:99.3万
展开全部
如何对硬件进行控制是由操作系统管理的,操作系统提供一些系统调用供用户程序使用。操作系统本身可由高级语言编写,但须经编译成为机器语言后计算机才能识别并执行。
如你所说的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,需要通过与或关系再移位得到。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
危献e3
2011-07-06 · TA获得超过2053个赞
知道大有可为答主
回答量:2738
采纳率:0%
帮助的人:1955万
展开全部
不能 C语言设计为跨平台编译 不可能有直接硬件操纵指令
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式