注册 登录
编程论坛 C语言论坛

电脑是否是将显卡看做一个文件或者是程序呢?

lian_xi_shen 发布于 2023-03-23 20:35, 734 次点击
今天看C Primer Plus的重定向输入(原文在下方):
其中最后一句话:C把文件和 I/O设备放在一个层面,所以文件就是现在的 I/O设备。
那么显卡在系统中是不是也被看做是一个文件或者程序。
运行流程为:输入数据、文件进行运算处理、读取输出。

原文:
假设已经编译了 echo eof.c程序,并把可执行版本放入一个名为 echo eof(或者在 Windows 系
统中名为echo eof.exe)的文件中。运行该程序,输入可执行文件名∶
echo_eof
该程序的运行情况和前面描述的一样,获取用户从键盘输入的输入。现在,假设你要用该程序处理名
为words 的文本文件。文本文件(text fle)是内含文本的文件,其中储存的数据是我们可识别的字符。文
件的内容可以是一篇散文或者C 程序。内含机器语言指令的文件(如储存可执行程序的文件)不是文本文
件。由于该程序的操作对象是字符,所以要使用文本文件。只需用下面的命令代替上面的命令即可∶
echo_eof < words
<符号是 UNIX和 DOS/Windows 的重定向运算符。该运算符使 words 文件与 stdin流相关联,把文
件中的内容导入echo eof程序。echo eof程序本身并不知道(或不关心)输入的内容是来自文件还是
键盘,它只知道这是需要导入的字符流,所以它读取这些内容并把字符逐个打印在屏幕上,直至读到文件
结尾。因为 C把文件和 I/O设备放在一个层面,所以文件就是现在的 I/O设备。
2 回复
#2
追梦人zmrghy2023-03-24 02:32
显卡是输出设备,数据转化成,显示器上的图像。
#3
forever742023-03-24 09:49
在学习C语言这个层面上,我们实际上是不接触显卡的,我们接触的是运行程序的黑窗口,也就是Console
被抽象为的文件是标准输入stdin标准输出stdout等,他们背后并不是物理设备,而是操作系统提供的输入输出缓冲区。
在C语言程序设计的层面上把它们叫做设备,而已。
而实际的显卡,由于显存的存在,一般是被当作内存来使用的,典型是当作memcpy的目标之类的。
1