C语言怎样直接实现控制硬件,比如C语言中的printf(),这个函数本身使用C语言编写的,但是C语言本身并没有直接控制硬件的指令,那么printf这个函数是不是用汇编语言编写的或者是用C语言中的位运算编写的?
如果是电脑程序的话,譬如你在vc6.0里面c语言里面编写一个程序,那么vc6里面的编译器会把你的c语言语句按照对应的关系翻译成你计算机能识别的计算机语句,然后你电脑cpu会按照这些指令来控制你的硬盘,内存读写之类的硬件操作。
如果是单片机之类的话,譬如你在keil里面用c语言编写了一个单片机程序,那么keil的编译器会把你的c语言程序编写成汇编语言程序文件,然后把那个汇编程序文件烧到单片机芯片上就可以让芯片按照指令工作了。
操作系统中直接控制硬件的程序是用汇编语言编写的吗?这样的话能够控制硬件的只有汇编语言啊?
追答早期操作系统是由汇编写的,后来便使用如C一类的高级语言编写。一种语言是否能直接控制硬件主要看他本身是否提供硬件控制的语句和其编译器如何翻译该程序。如C本身没有硬件控制语句,但在某些特殊IDE中仍可使用C语言进行硬件控制,如单片机编程多用C语言
本回答被提问者采纳我想知道C语言如果不调用任何库函数怎样实现控制硬件,能不能用位运算实现?具体怎样实现
追答位运算也是在端口读写的基础上,如对某位置0或1,需要通过与或关系再移位得到。