100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > devc语言图形编程教程_C语言是怎么实现图形界面的?

devc语言图形编程教程_C语言是怎么实现图形界面的?

时间:2020-12-01 21:22:05

相关推荐

devc语言图形编程教程_C语言是怎么实现图形界面的?

GTK就可以,一个基于C语言的免费、开源、跨平台图形工具包,可以直接使用C语言调用实现图形界面开发,下面我简单介绍一下这个工具包的安装和使用,这里以Windows平台为例:

1.首先,下载GTK安装包,这个可以直接到CSDN上下载,一个zip压缩包,直接解压就行,地址/download/qq_34816564/10925737,解压后的文件如下:

2.接着我们需要将bin目录添加到环境变量中,之后打开CMD窗口,输入命令“pkg-config --cflags gtk+-3.0”,若出现以下界面,则说明配置成功:

这里我们也可以查看一下GTK自带的Demo,运行命令“gtk3-demo”就会弹出Demo对话框,这里包含有所有官方自带的示例,双击就可查看运行效果:

3.接着我们就可以配置Code::Blocks(VS,Dev-C++等软件也行)实现C语言开发图形界面了,这里主要是引入GTK头文件和运行库,具体步骤如下:引入GTK头文件:点击菜单栏“Settings”->"Compiler...",在编译器中添加一行命令“`pkg-config --cflags gtk+-3.0`”,注意有`,如下:

引入GTK运行库:还是在刚才的设置中,选择链接器,添加一行命令“`pkg-config --libs gtk+-3.0`”,注意也是`,如下:

最后就是编写C语言程序调用GTK开发图形界面了,这里需要先引入gtk.h头文件,之后就是调用相关控件,测试代码如下,非常简单,一个窗口程序:

程序运行效果如下,还不错:

至此,我们就完成了使用C语言来调用GTK开发图形用户界面。总的来说,整个过程非常简单,官方也给出了详细的用户使用文档和示例,非常适合初学者学习,不过,使用C语言开发图形界面的效率比较低,可以考虑使用一下Qt,C#等,效率能更高一些,网上也有相关资料和教程,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言。

/a6682723993356599556/

C语言从底开始写图形界面(现在基本不采用)

FC十大中文游戏,有魂斗罗系列、赤色要塞、重装机兵、淘金者、超级马里奥兄弟、坦克大战、松鼠大作战、恶魔城、俄罗斯方块等等,这些FC经典游戏基本都是采用从底层直接写图形。

使用第三方库

用图形库是EsayX,支持VC++,VS,底层还是windows编程。操作简单,实用性方便。(近期写的电子相册如下)

特别说明:学习C/C++基础的时候,我们调用的是dos 窗口,windows自带的终端处理窗口,是没有属于自己的可视化窗口。

想必你问的是windows上用C实现图形界面,另外有些回答说C必须调用库才能实现图形界面。看得出,很多都是没有写过驱动的。首先,我们有一个显示器,显示器是一个个小点组成的。显示器有很多种接口,CPU/GPU通过这个接口(操作寄存器)和显示器通讯,在上面画上一个个点。然后点连成线,点变成圆。。。等等基本图形,把这些封装成函数,加之封装填充之类的函数,构成了最底层的GUI。后面又经过抽象,有图层等的概念。这就是图形库了。然后各种语言调用图形库完成显示。C语言完全可以从底开始写图形界面。但是没必要。

你能接触到的显示接口都是别人的库,比如DirectX,OpenGl,GDI,安卓的Canvas,ios的CoreGraphic等。

这个库一般分为两类,一类是面向GPU的操作库,一类是面向图形算法和内存的库。

面向GPU比较典型的就是DirectX和OpenGL.

他们接口偏向硬件,实现比较简单的纹理贴图功能,直白点就是给多个三角形,给纹理,然后显示。你可以拿着其他工具导出的模型(三角形和贴图定义),预先加载特定的纹理之后,作简单移动,缩放等操作。各种矢量变化控制工作由CPU端完成,而数据量较大的纹理贴图由GPU完成。

而GDI或者安卓的Canvas,ios的CoreGraphic是比较复杂的二维图形算法集成库,一般都是在CPU端作很多工作,然后把工作结果以内存帧的方式提交给GPU。这种方式下,CPU和GPU之间的传输带宽,以及你的工作机制非常影响速度。比如,安卓的SurfaceView画整屏会比更新局部的操作慢很多。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。