都说C语言可以直接操作硬件?
具体指什么呢,其他语言就不可以吗还有,用指针可以改写内存地址的内容,其他语言不可以吗,比如VB.C语言怎么操作硬件的,能举个例子吗.是不是那些windows上的vb,c#...
具体指什么呢,
其他语言就不可以吗
还有,用指针可以改写内存地址的内容,
其他语言不可以吗,比如VB.
C语言怎么操作硬件的,能举个例子吗.
是不是那些windows上的vb,c#,dephi等就做不到? 展开
其他语言就不可以吗
还有,用指针可以改写内存地址的内容,
其他语言不可以吗,比如VB.
C语言怎么操作硬件的,能举个例子吗.
是不是那些windows上的vb,c#,dephi等就做不到? 展开
4个回答
展开全部
不能。
首先,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语言在高级语言当中是最贴近物理层面的语言。它也被称作高级语言里面的低级语言。因为它很多方面都非常贴近硬件。典型的就是指针,这是一种通过物理地址直接操作内存的变量。
展开全部
基本上是个语言都可以操作硬件。不过通常在高级语言中比如C,Vb,C#,delphi等你很难在不看说明文档就能操控的,也就是说你必须要看他们的有关这方面的文档。高级语言在对硬件操控也有很强的优势,就是他们对硬件的操控通常已经被封装过了,用起来容易些。而且,这样的高级语言编程操控硬件时,通常比较依赖系统,系统环境变量等。在不同的系统中比如Windows,Linux下对硬件的处理也是很不同的,依我个人之见,Linux下对硬件的操控更容易些。
delphi在这方面表现非常出色,主要原因是,你比较容易得到这方面的资料。
再说汇编语言,理论上,它是很强的,对于操控硬件,实际的操控效率也相当的高。但,他的编程相对难得多得多。很少有这方面的资料,一般人找不到。没有几年的功底,你是写不出来的。他的依赖性很强。有些功能还得自己做封装,以后好用。但是,你要是想做不太难的硬件控制,这个还是比较容易的。比如直接读硬盘的指定道,块,;让机器发鸣声,等等。
delphi在这方面表现非常出色,主要原因是,你比较容易得到这方面的资料。
再说汇编语言,理论上,它是很强的,对于操控硬件,实际的操控效率也相当的高。但,他的编程相对难得多得多。很少有这方面的资料,一般人找不到。没有几年的功底,你是写不出来的。他的依赖性很强。有些功能还得自己做封装,以后好用。但是,你要是想做不太难的硬件控制,这个还是比较容易的。比如直接读硬盘的指定道,块,;让机器发鸣声,等等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我只能说, 其他语言也有可以直接操作硬件的.
比如汇编语言.
比如汇编语言.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VB不行
语言从低级到高级,语义功能越来越完善(意思是写出来的程序越来越接近人类语言),但是同时失去了对硬件的直接操纵能力,而且执行效率越来越低。
比如最低级的机器语言(全部是各种数字),没学过根本看不出是什么意思,但是对硬件操纵能力最强,想怎么让硬件做硬件就会怎么做。执行效率为百分之百。
其次是汇编语言,汇编语言稍微向英语迈进了一点,但是很有限,一般人也看不明白的,比如这句
mov a,b
谁知道什么意思!其操纵硬件能力也极强,随心所欲,执行效率基本也是百分之百。
而C语言介于高级和低级之间,代码容易理解,还可以用指针操纵硬件(不过还是很局限的,CPU就无法之间操纵了),执行效率为80%,对于一直语言来说很不错了。
Basic语言完全是高级语言,代码简单,但是不具备操纵硬件能力,也就是你想写个代码直接让内存怎么怎么样,内存不听你的,只听编译好的程序的。而且执行效率也很低了。
语言从低级到高级,语义功能越来越完善(意思是写出来的程序越来越接近人类语言),但是同时失去了对硬件的直接操纵能力,而且执行效率越来越低。
比如最低级的机器语言(全部是各种数字),没学过根本看不出是什么意思,但是对硬件操纵能力最强,想怎么让硬件做硬件就会怎么做。执行效率为百分之百。
其次是汇编语言,汇编语言稍微向英语迈进了一点,但是很有限,一般人也看不明白的,比如这句
mov a,b
谁知道什么意思!其操纵硬件能力也极强,随心所欲,执行效率基本也是百分之百。
而C语言介于高级和低级之间,代码容易理解,还可以用指针操纵硬件(不过还是很局限的,CPU就无法之间操纵了),执行效率为80%,对于一直语言来说很不错了。
Basic语言完全是高级语言,代码简单,但是不具备操纵硬件能力,也就是你想写个代码直接让内存怎么怎么样,内存不听你的,只听编译好的程序的。而且执行效率也很低了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询