C语言可以直接对硬件进行操作吗

如题所述

不能。
首先,C语言不能够直接对硬件进行操作。从本质上来说,连汇编语言都不可以。只有机器语言能够直接操作硬件。
其次,C语言要操作硬件是必须经过一系列的编译转换。最终它会成为0101的机械码,这个时候它根本不是我们所能够理解的C语言了。
以GCC编译器为例,这个可以分为四步。
第一步是预处理,包括语法检查等工作。 gcc -P abc.c 第二步由源程序生产汇编语言代码。 gcc -S abc.c 会生成abc.s文件,这个文件里就是汇编代码。 第三步编译器生成目标代码,一个源文件生成一个目标代码。 gcc -c abc.c 会生成abc.o 第四步连接器从目标代码生成可执行文件。 gcc abc.o
最后,相对来说,C语言在高级语言当中是最贴近物理层面的语言。它也被称作高级语言里面的低级语言。因为它很多方面都非常贴近硬件。典型的就是指针,这是一种通过物理地址直接操作内存的变量。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-01-10
C语言只是一种编程工具,单片机编程可用C语言,机器人编程也有用C语言,计算机系统下的程序设计也可以用C语言。是否可以操作硬件,看你用C语言的环境。单片机编程、机器人编程肯定就要操作硬件,如果是编写计算机系统的软件,又要看是什么操作系统,WIN98之前的系统,程序可以直接操作硬件,NT以后的系统,用户程序不能直接操作硬件,必须通过驱动程序接口来操作硬件。

c语言可以直接对硬件进行操作吗
c语言不可以直接对硬件进行操作。不可行首先,C语言不能够直接对硬件进行操作。从本质上来说,连汇编语言都不可以。只有机器语言能够直接操作硬件。其次,C语言要操作硬件是必须经过一系列的编译转换。最终它会成为0101的机械码,这个时候它根本不是我们所能够理解的C语言了。

C语言能对硬件直接操作是什么意思,小弟初学者,请高手解答!非常感谢...
C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言。也就是说,C语言可以直接对物理地址进行操作。学习指针是学习C语言中最重要的一环,能否正确理解和使用指针是我们是否掌握C语言的一个标志。在计算机中,所有的数据都是...

c语言的特点
C语言允许直接访问物理地址,可以直接对硬件进行操作:因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的.工作单元,可以用来写系统软件。C语言程序生成代码质量高,程序执行效率高:一般只比汇编程序生成的目标代码效率低10へ20%。C...

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

c语言可以直接对硬件操作吗
这个问题有点不好回答,现在的不管是单片机也好,数字处理器也好,图像处理器也好,基本都是C语言来写的了,但是要说C语言能不能直接操作硬件,恐怕还得分情况,因为,上面说的这些芯片都是硬件对吧,还有一些也是硬件比如,你想要控制的门,你想要控制的升降机等等,难道你能说它们不是硬件吗,但是门、...

C语言程序的三种基本结构是__
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大。依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可...

汇编语言可以对硬件直接进行操作是什么意思? C语言可以吗?
因所有语言都最后要转换成机器码,因计算机只会按这机器码进行运行,而汇编语言就是这机器码的助记符(帮助记忆的符号),所以它就是直接可操作机器的语言。C语言是一种中级语言,它也可进行机器的直接操作,只是还要经过一些设置或转换才行。

为什么说C语言是直接对硬件操作的语言?
而C语言介于高级和低级之间,代码容易理解,还可以用指针操纵硬件(不过还是很局限的,CPU就无法之间操纵了),执行效率为80%,对于一直语言来说很不错了。Basic语言完全是高级语言,代码简单,但是不具备操纵硬件能力,也就是你想写个代码直接让内存怎么怎么样,内存不听你的,只听编译好的程序的。而且执...

C语言有什么作用,编写软件或者游戏是用C语言编写的吗?
语法限制不太严格,程序设计自由度大。虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度。允许直接访问物理地址,对硬件进行操作。由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位、字节和...

~c语言什么意思
拓展知识:具体来说,C语言是一种过程性编程语言,它结合了高级编程语言和汇编语言的优点,可以直接对计算机硬件进行操作,并且语法简洁清晰。C语言在编程中应用广泛,因为它对计算机内部工作的了解,使得程序员能够更直接地控制程序的运行。在C语言中, ~符号是一个位运算符,它用于对二进制位进行取反操作...

相似回答