C高级编程技术
高级编程技术
一、高级编程简介:
本学期C语言的大量NOJ编程训练,都只是为了打基础,能解决一些简单的小问题,离真正的应用程序开发相差甚远,为此,还需学习高级编程技术。
不同的行业需要开发不同的应用程序,高级编程技术具有很强的专业性,在C语言的发展进程中,无数科学家和程序员开发出了数量众多、性能卓越的专业函数库,充分利用好这些函数库是编写应用程序的关键。
高级编程涉及内容广泛,包括界面编程、图形编程、多媒体编程、网络编程和数据库编程等方面。无论哪方面的编程,只要把开发环境配置好,就可以使用那些专业函数库。
二、开发环境的配置
C语言开发工具一般会自动配置好标准函数库的使用环境,使用标准函数库的C程序可以直接编译和连接。但如果是使用其他的专业函数库,就需要配置开发环境。
通常,一个提供给程序员使用的专业函数库有4部分内容:
头文件(*.h):函数原型、宏常量定义等。
库文件(*.lib):函数的二进制代码。
动态链接库(*.dll):专业函数库的程序运行时用。
使用手册文档
所谓开发环境配置就是把这些文件放在适当的位置让编译器和连接器可以找到,或者设置编译器和连接器的搜索路径以便编译和连接时能找到它们。
通常,将专业函数库的头文件*.h添加到开发工具的系统include路径,将库文件*.lib添加到开发工具的系统lib路径,将动态链接库*.dll复制到windows系统文件夹windows\system32。
下面通过图形编程的例子来说明如何进行高级编程。
三、OpenGL图形编程举例
图形编程通常应用于计算机图形学中,用来绘图、动画显示、虚拟现实等。常用的图形函数库有:OpenGL、SDL、OpenCV等。
开放图形库OpenGL(open graphics library)是一个功能很强大的专业图形接口,是开源自由软件,其特性:与C语言紧密结合,强大的可移植性,高性能的图形渲染。适用于三维建模、三维动画和影视软件等领域。
OpenGL官方网站(英文): HYPERLINK
OpenGL中的gl库是核心库,glu是实用库,glut是实用工具库,gl是核心,glu是对gl的部分封装,glut是OpenGL的跨平台工具库,gl中包含了最基本的3D函数。glut是基本的窗口界面,是独立于gl和glu的,如果不喜欢用glut可以用MFC和Win32窗口等代替,但是glut是跨平台的,这就保证了编出的程序是跨平台的,如果用MFC或者Win32只能在windows操作系统上使用。选择OpenGL的一个很大原因就是因为它的跨平台性,所以我们尽量使用glut库。
Glut下载地址:
HYPERLINK /resources/libraries/glut/glutdlls37beta.zip /resources/libraries/glut/glutdlls37beta.zip
对glutdlls37beta文件解压得到5个文件:glut.dll, glut.h ,glut.lib, glut32.dll, glut32.lib。
Glut开发环境配置:
将glut.h复制到..\codeblocks\mingw\include\gl文件夹中。
将glut32.lib复制到..\codeblocks\mingw\lib文件夹中。
将glut32.dll复制到c:\windows\system32文件夹中。
打开codeblocks,在设置\编译器\链接器设置为:
搜索路径设置为:
INCLUDEPICTURE C:\\Users\\Qin Xiaohong\\AppData\\Roaming\\Tencent\\Users\\505560471\\QQ\\WinTemp\\RichOle\\Q}RYTK8RDCE2A3KQHQ8WXU5.png \* MERGEFORMATINET INCLUDEPICTURE C:\\Users\\Qin Xiaohong\\AppData\\Roaming\\Tencent\\Users\\505560471\\QQ\\WinTemp\\RichOle\\BXNGX@2]T7AI9G_[E@)]UKL.png \* MERGEFORMATINET
Glut作为OpenGL编程实用工具库,它能编写带窗口的OpenGL应用程序。Glut是以OpenGL为基础的,由于在Glut的头文件glut.h已经包含OpenGL的头文件gl.h和glu.h,因此应用程序中只需要Glut的头文件。
#include gl\glut.h
开发环境配置好以后,就可以开始建立项目,绘制OpenGL图形。
在我们的Codeblocks 13.12课堂教学版本中,已经将常用的专业函数
您可能关注的文档
- CT Beifang Strategy v2.0c 20031124-V02.ppt
- CT GXF09T 光缆交接箱说明书(2011-11-17 16.09.21).doc
- 人类的“老师”.ppt
- cts英语.ppt
- 人的不安全行为和物的不安全状态.ppt
- CTCS2列控系统概述.ppt
- 人货梯基础加固方案.doc
- 人行道组装作业指导书.doc
- 8第八章吸收环境工程原理电子教案-.ppt
- 人生AB剧.ppt
- 2025-2026学年科普版七年级下册英语Unit7 Being a Smart Shopper素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit10 Lending a Helping Hand素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit11 Rules Matter素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit12 Better Together素养测评卷(含答案).docx
- 2026年中考英语语法选择专题训练(含答案).docx
- 2026中考语文二轮学思并重,涵养君子之德论语十二章、虽有佳肴、大道之行也.docx
- 中考文言文常见文化常识梳理.docx
- 中考语文二轮:内修君子德外尽忠臣心诚子书出师表修身立德主题学习.docx
- 中考语文二轮:不一样的求学路一样的成长梦送东阳马生序劝学主题学习.docx
- 中考语文二轮:《陋室铭》《爱莲说》托物寓意主题学习.docx
最近下载
- 2025年春新课程能力培养八年级数学下册人教版答案.pdf VIP
- SY_T 5735-2019烃源岩地球化学评价方法.pdf
- 中华人民共和国危险化学品安全法课件.pptx VIP
- GB51119-2015:冶金矿山排土场设计规范.pdf VIP
- 人教版小学六年级数学下册优秀教案(全册).doc VIP
- 土地流转合作社土地流转合同.doc VIP
- 电子技术基础丁伟习题解答.pdf VIP
- 2025山东城市服务职业学院单招《数学》真题【综合题】附答案详解.docx VIP
- 高教社2024市场调查与分析(第三版)教学课件3.2抽样调查.pptx VIP
- 基于生存分析方法的零售贷款违约模型构建与实证研究.docx
原创力文档

文档评论(0)