1.c++没有标准的图形库但能否用纯c++写出直接 *** 作显卡的程序呢? 2.目前有各式各样GUI他们是用什么编的?

1.c++没有标准的图形库但能否用纯c++写出直接 *** 作显卡的程序呢? 2.目前有各式各样GUI他们是用什么编的?,第1张

建议学习Windows 程序设计(第五版)

如果你想写应用程序,那一切都离不开 *** 作系统.离不开系统提供的应用程序编程接口(哪怕是汇编语言),只要你打开了windows,你就永远不能直接 *** 作显卡, *** 作系统自动控制显卡,就算你用32位或者64位汇编语言,也只是在调用 *** 作系统的功能而已.

如果你想自己 *** 作显卡,有两条路:

第一:完全避开 *** 作系统,请先学习汇编语言,然后参考Intel公司的三卷本CPU原理,然后学习 *** 作系统原理,接着参考Linux内核代码,然后自己写个 *** 作系统.

第二:也是先学习汇编语言,然后学习Windows(或者其他平台)下的驱动程序编写方法,然后参考显卡公司的驱动编写说明书.然后你写个你自己知道的驱动.(因为,别人写的显卡驱动你不一定明白怎么用),然后你写的显卡驱动被系统装载后,必须模拟出直接调用功能(还是没法直接调用),然后你就可以模拟直接调用.(太麻烦了)

以上就是如此.

所以,C/C++图形库都是孝前姿基于某一个平台的.他们也不可能直接 *** 作显卡,他们都是调用系统提供的函数或者类,通过系统来 *** 作显卡.如果你想知道怎么 *** 作的,就请按照以上第二条来做吧.

你想想,一个C++的库,比如MFC只能在windows下运行,为什么?因为他们都是调用系统的功能啊,linux下不能使用MFC.图形库也是,现在流行的一些跨平台库,比如Qt,WxWidgets等等,都是源码形式,其中包含很多编译控制,拿到不同的平台上使用,都要经过重新编译巧绝.

所以,如果你悔态想学写图形库,请先学习该平台的编程方法(比如windows平台,或者Linux平台),然后对直接的GUI编程很熟悉,就可以动手自己写库.库并不高深,只是把系统提供的功能给封装了而已..加入自己的代码,使得调用起来比直接使用API来的方便.

U越来越强大,GPU为显示图像做了优化之外,在计算上已经超越了瞎碧弯通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVidia推出CUDA,让显卡可以用于图像计算以外的目的,也就是超于游戏,使得GPU能够发挥其强大的运算能力。

一年前NVIDIA发布CUDA,这是一种专门针对GPU的C语言开发工具。与以往采用图形API接口指挥GPU完成各种运算处理功能不同,CUDA的出现使研究人员和工程师可以在熟悉的C语言环境下,自由地输入代码调用GPU的并行处理架构。这使得原先需磨闷要花费数天数周才能出结果的运算大大缩短到数几小时,甚至几分钟之内。

CUDA是用于GPU计算的开发慧简环境,它是一个全新的软硬件架构,可以将GPU视为一个并行数据计算的设备,对所进行的计算进行分配和管理。在CUDA的架构中,这些计算不再像过去所谓的GPGPU架构那样必须将计算映射到图形API(OpenGL和Direct 3D)中,因此对于开发者来说,CUDA的开发门槛大大降低了。CUDA的GPU编程语言基于标准的C语言,因此任何有C语言基础的用户都很容易地开发CUDA的应用程序。

那么,如何使得CPU与GPU之间很好的进行程序之间的衔接呢?以GPGPU的概念来看,显卡仍然需要以传统的DirectX和OpenGL这样的API来实现,对于编程人员来说,这样的方法非常繁琐,而CUDA正是以GPGPU这个概念衍生而来的新的应用程序接口,不过CUDA则提供了一个更加简便的方案——C语言。我们回顾一下CUDA的发展历史。

一般而言,c语言本身不支持吃显卡的功能差禅,因为c语言是一种编程语言,而显卡的驱动是硬件的软件程序,它不属于c语言所能处理的范畴。要说能够吃显卡,就要提到一些图形处理语言,比如OpenGL,OpenCL,这些桐誉图形处理语言都能局庆段够支持机器发挥显卡的性能。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8265434.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存