本文目录一览:
电脑硬件与C语言编程
电脑硬件,包括电脑中所有物理的零件,以此来区分它所包括或执行的数据和为硬件提供指令以完成任务的软件。 电脑硬件主要包含:机箱,主板,总线,电源,存储控制器,界面卡,携储存装置,内置存储器,输入设备,输出设备, CPU风扇,蜂鸣器等 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
都说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语言在高级语言当中是最贴近物理层面的语言。它也被称作高级语言里面的低级语言。因为它很多方面都非常贴近硬件。典型的就是指针,这是一种通过物理地址直接操作内存的变量。
本人想学习c语言,需要配置什么样的电脑,
不必担心配置问题
当今硬件发展速度很快,作为一个学习者,学习编程对电脑配置的并没有特殊的要求,大一新生往往学习c语言吧,这种程度的运算对计算机并不是什么负担,我也是大学生,曾经也问过电脑配置问题,所以请您放心,电脑的配置对学习不会产生太大影响,除非处理大型问题是,电脑的配置差异才会显示出来,配置高的速度快,配置低的速度慢,但是就和人来讲,目前我所要解决的问题,基本没这么大规模的,所以说,市面上的一般电脑基本都可以满足了
本人配置作为参考:CPU: I5 4210M 2.6赫兹 NVIDIA 2G独显 4G内存
怎么用C语言编程来控制硬件?如何写啊?
控制硬件需要动到底层的驱动,而且这种技术不但在电脑上可以,到了嵌入式的编程也同样适用。
简单来说,除非硬件厂商给你该硬件的API/SDK,否则你不能直接通过c甚至任何其他语言对硬件进行编程。更如果硬件厂商也没有把该硬件的参数发布出来,没有任何人可以堆该硬件做任何编程。除非黑客破解。
这个很难,大一就学这个太吃力了吧。想学可以,去找找硬件驱动相关的书籍。看看怎么用c和底层的驱动进行沟通。简单来说,任何一个硬件驱动都有一个大得IOCTL方程。这个方程在等操作系统给他发送系统信息,然后驱动来决定应该做什么操作,从这里开始入手吧。很难的哦。