好多小伙伴都有一个疑问,我我们学编程貌似都是看输出,怎么才能搞个像window上程序带个又界面的,眼见为实嘛
解决方案:
很多群友都在问学习了C语言,怎么画界面呢?确实,C语言本身基本没有提供画图的函数,早期的TurboC还有划线等函数,现在都不能用这些函数了,为什么呢?
其实C语言默认情况下是控制台程序,所以要画图从模式上就不支持。而且从理论上说不支持也是对的,因为画图完全是一个图形库的事情,跟语言都没有啥关系。有人说Java、C#、VB等可以画图啊,那是因为这些语言的底层调用了相应平台下的图形库函数。比如windows下的,不管你用什么语言,下面调用的最终都是DirectX图形接口,它的上面就是封装的Windows GDI图形接口。
一般说来,图形库中的函数本身就相当于API函数,既然是API,显然是不属于编程语言的一部分,而是系统平台的一部分,本质上图形库都是显存的操作,在高级系统中,只有操作系统这样的平台才会去管理显存,所以从这个角度上也说明图形系统是属于平台的。
那我们学习了C语言怎么去画图呢?有了上面的答案其实就很清楚了,就是学习你编程的平台的图形库。至于学习什么图形库,就看你的平台和想使用的库,比如Windows专有的DirectX、GDI,还有可移植到各种平台下的OpenGL、SDL、Qt等常用的库,但是这些库的层次还是不一样的,越高层用起来就越简单,但控制的灵活度也小一些。另外复杂程度也往往和强大成正比,像DirectX和OpenGL最强大,还能支持3D,基本上垄断了游戏的图像库,但是用起来也最复杂,而GDI、SDL、Qt等这些图形库往往比较简单就能完成。
有了上面的了解,相信初学者在学习完C/C++之后,根据你的情况去好好学习一下图形库。Linux下可以学习SDL,对于很多在Windows下运行的程序,可以学习Windows GDI函数,十分方便就能学会图形界面的编写。