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

2020-04-30 科技 165阅读
建议学习Windows 程序设计(第五版)
如果你想写应用程序,那一切都离不开操作系统.离不开系统提供的应用程序编程接口(哪怕是汇编语言),只要你打开了windows,你就永远不能直接操作显卡,操作系统自动控制显卡,就算你用32位或者64位汇编语言,也只是在调用操作系统的功能而已.
如果你想自己操作显卡,有两条路:
第一:完全避开操作系统,请先学习汇编语言,然后参考Intel公司的三卷本CPU原理,然后学习操作系统原理,接着参考Linux内核代码,然后自己写个操作系统.
第二:也是先学习汇编语言,然后学习Windows(或者其他平台)下的驱动程序编写方法,然后参考显卡公司的驱动编写说明书.然后你写个你自己知道的驱动.(因为,别人写的显卡驱动你不一定明白怎么用),然后你写的显卡驱动被系统装载后,必须模拟出直接调用功能(还是没法直接调用),然后你就可以模拟直接调用.(太麻烦了)
以上就是如此.
所以,C/C++图形库都是基于某一个平台的.他们也不可能直接操作显卡,他们都是调用系统提供的函数或者类,通过系统来操作显卡.如果你想知道怎么操作的,就请按照以上第二条来做吧.
你想想,一个C++的库,比如MFC只能在windows下运行,为什么?因为他们都是调用系统的功能啊,linux下不能使用MFC.图形库也是,现在流行的一些跨平台库,比如Qt,WxWidgets等等,都是源码形式,其中包含很多编译控制,拿到不同的平台上使用,都要经过重新编译.
所以,如果你想学写图形库,请先学习该平台的编程方法(比如windows平台,或者Linux平台),然后对直接的GUI编程很熟悉,就可以动手自己写库.库并不高深,只是把系统提供的功能给封装了而已..加入自己的代码,使得调用起来比直接使用API来的方便.
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com