C/C++及其相关
-
C++编程思想(美)Bruce Eckel,(美)Chuck Allison著;刁成嘉等译《C++编程思想》(第1版)荣获1996年度《软件开发》杂志的图书震撼大奖(JoltAward),成为该年度最佳图书。??本书内容:●介绍实用的编程技术和最佳的实践方法,解决C++开发中最困难的课题。●深入研究标准C++库的功能,包括:字符串、输入输出流、STL算法和容器。●讲述模板的现代用法,包括模板元编程。●解开对多重继承的困惑,展示RTTI的实际使用。●深入探究异常处理方法,清晰解释异常安全设计。●介绍被认为是标准C++下一版特征之一的多线程处理编程技术,并提供最新研究成果。●对书中包含的所有示例代码都提供免费下载,这些代码段经过多个软件平台和编译器(包括基于Windows/Mac/Linux的GNUC++编译器)的测试,稳定可靠。在本书作者的个人网站www.BruceEckel.com上提供:●本书的英文原文、源代码、练习解答指南、勘误表及补充材料。●本书相关内容的研讨和咨询。●本书第1卷及第2卷英文电子版的免费下载链接。 -
Visual C++高级编程技术与实例宋晓宇,王永会 编著前言第1部分windows技术篇第1章注册表(Registry)1.1注册表文件的构成1.2注册表的结构1.3预定义的注册表根键1.4常用的注册表键1.4.1HKEY_LOCAL_MACHINE中的子树1.4.2HKEY_CLASSES_ROOT中的子树1.4.3HKEY_USERS中的子树1.4.4HKEY_CURRENTLUSER中的子树1.5常用的注册表函数1.6基于API函数的应用程序实例1.6.1建立应用程序框架1.6.2创建一个新键1.6.3删除一个子键1.6.4删除值项1.7注册表类的设计与实现1.7.1注册表类CRegistry的定义1.7.2注册表类CRegistry的实现1.7.3基于CRegistry类的应用程序实例——一键清空1.8小结第2章ActiveX控件的使用2.1Activex控件简介2.1.1ActiveX技术历史2.1.2ActiveX控件2.1.3ActiveX控件的作用2.2ActiveX控件的使用方法2.3应用程序与Activex控件2.3.1在对话框程序中使用日期控件2.3.2在单文档程序中使用DataGrid控件2.4小结第3章动态链接库3.1动态链接库(DLL)简介3.1.1动态链接库的概念3.1.2动态链接库的优点3.1.3DLL的文件组成3.2简单DLL的开发3.3DLL的使用3.3.1函数调用约定3.3.2函数名字修饰约定3.3.3使用动态链接库3.4MFCDLL的开发3.4.1扩展MFCDLL3.4.2测试MFCDLL3.4.3常规MFCDLL3.5小结第4章数据库高级编程技术4.1ADO概述4.2ADO结构和对象4.2.1ADO应用的结构4.2.2ADO对象4.2.3使用ADO开发数据库应用程序的方法4.3使用Activex控件开发应用程序4.3.1创建应用程序框架4.3.2添加ADO数据控件4.3.3添加DataGrid控件4.3.4运行程序4.3.5对数据的操作4.4ADO对象的属性和方法4.4.1连接对象(Connection)4.4.2命令对象(Command)4.4.3记录集对象(Recordset)4.4.4字段对象(Field)4.5使用ADO对象开发应用程序……第5章多线程编程……第6章WinSock网络编程技术……第7章多媒体编程……第二部分组件技术篇第8章组件技术基础……第9章ActiveX控件的开发……第10章COM技术…… -
C++学习与实验指导秦军C++程序设计语言具有强大的功能,它是从C语言发展演变而来的,是C语言的超集,是一种面向对象的程序设计语言。目前它已经在各个领域得到广泛的应用,成为开发大型软件时首选的一种程序设计语言。本书分为两部分:第一部分为“学习指导”,首先是“知识要点”,强化对各章节的知识点的认识;其次是“例题解析”,通过一些典型的例题的解析,帮助读者掌握Visual C++程序设计的方法和技巧,最后通过精心组织的精选习题让读者进行练习,以巩固对已学的知识点的掌握;第二部分为“实验指导”,包括9个精心设计的实验。每一个实验都包括“实验目的”、“实验实例”、“实验内容”、“实验指导”和“思考题”。此外,书后还有一个附录“常用系统函数”列出了C++中的常用库函数及其说明,可以作为简明函数手册使用。 -
C++编程规范萨特,亚历山德雷斯库 著,刘基诚 译;刘基诚译在本书中,两位知名的C++专家将全球C++界的集体智慧和经验凝结成一套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。书中对每一条规范都给出了精确的描述,并辅以实例说明;从类型定义到错误处理,都给出了最佳的C++实践。即使使用C++多年的程序员也会从本书中受益匪浅。本书适合于各层次C++程序员使用,也可作为高等院校C++课程的教学参考书。良好的编程规范可以改善软件质量,缩短上市时间,提升团队效率,简化维护工作。在本书中,两位全世界最受尊敬的C++专家将全球C++界的集体智慧和经验凝结成一整套编程规范。这些规范可以作为每一个开发团队制定实际开发规范的基础,更是每一位C++程序员应该遵循的行事准则。.本书涵盖了C++程序设计的方方面面,包括设计和编码风格、函数、操作符、类的设计、继承、构造与析构、赋值、名字空间、模块、模板、泛型、异常、STL容器和算法等。书中对每一条规范都给出了言简意赅的叙述,并辅以实例说明;书中还给出了从类型定义到错误处理等方面大量的C++最佳实践,包括许多最新总结出的和标准化的技术,即使使用C++多年的程序员也会从中受益匪浅。■通过阅读本书,可以找到以下问题的答案:..■哪些东西值得标准化?哪些东西不值得标准化?■使代码可扩展的最佳方法是什么?■合理的错误处理策略有哪些要素?■如何(和为什么要)避免不必要的初始化、循环依赖和定义依赖?■何时应该(以及如何)同时使用静态和动态的多态性?■如何实践“安全的”改写(override)?■何时该提供不会失败的交换(swap)?■为什么要阻止异常跨越模块边界传播?如何阻止?■为什么不应该在头文件中写名字空间声明或指令?■为什么应该使用STLvector和string代替数组?■如何选择正确的STL搜索算法?■为了保证代码的类型安全,应该遵从哪些规则?... -
Visual C++实践与提高原奕等编著本书适合于有一定Visual c++开发经验、希望学习使用ADO技术开发Visual c++数据库应用程序的读者。 的新版本。该版本包括如下功能:集成开发环境(IDE)、完整的面向对象功能、可视化编程和继承等重要功能,并介绍了功能强大的ADO.NET数据库访问技术。在综合开发实例应用中对工程背景的调研以及数据库的抽象建模、实体对象的建模、系统的需求分析和实现方法以及相关技术作了较为详尽的阐述。 全书理论与实际相结合,实例丰富精彩,具有较强的实用性。从本书中读者不仅能够掌握使用Visual Basic.NET编程开发的技巧,同时也能够对Visual Basic.NET中纷繁晦涩的概念作进一步的了解。 本书不仅适用于使用Visual Basic.NET进行软件开发的具有编程经验的广大软件开发人员,也适合于高等院校师生学习和参考使用,特别对高校计算机专业的学生进行毕业设计具有非常好的参考价值,也可作为广大计算机编程爱好者的自学本参考用书。 -
C程序设计上机指导与练习郑军红本书是《C程序设计》一书的配套参考教材,主要包括了以下四个方面的内容:第一部分详细介绍了Win-TC的使用方法及环境设置。第二部分针对C语言的学习内容,由浅至深设置了20个实验,介绍了程序调试和编程方法的初步知识,以便进行实践教学。第三部分结合章节学习内容及计算机二级考试要求,设置了15套练习题。这些练习题内容丰富并且具有很强的灵活性和应用性,读者可以根据自己的情况进行练习或自测。第四部分为附录,详细介绍了C语言二级考试大纲和Turbo C上机过程。本书作为《C程序设计》一书的配套教材,具有很强的通用性和实用性。书中详细介绍了Win-TC编译程序和Turbo C编译程序,并设置了多个实验和多套练习题供读者参考使用。本书可作为普通本科院校、普通高等专科学校的计算机辅助教材,也可以作为计算机培训和计算机等级考试辅导教学用书。 -
Visual C++视频会议开发技术与实例吴志军等编著本书全面、详细地介绍了Visual C++视频会议开发的基本原理和编程知识,并结合实际视频会议开发的工程实际,给出了丰富的实例和大量的Visual C++源代码文件。 全书共分3篇10章,“基础篇”(第1章和第2章)介绍了如何对视频会议系统进行相关的需求分析,以及视频会议的相关标准和体系结构等;“关键技术篇”(第3章至第7章)介绍了视频会议系统的视频编码标准、视音频编码分析、文件传输、文字讨论和安全保密技术等;“案例篇”(第8章至第10章)给出了3个综合的视频会议系统,以供读者边学习边实践。 本书内容由浅入深,从最基本的视频会议相关标准一直到综合实例的实现,都有详细的讲解。配套光盘中还提供了书中实例的全部源代码,方便读者举一反三,开发出适合自己的工程项目。 本书适合从事视频会议开发的人员进行学习和参考,同时,可作为高等院校相关专业课程设计和毕业设计的学习和参考用书。 -
C++程序设计(美)代特尔 等著C++是最流行的面向对象程序设计语言之一。本书以全球使用最广泛的C++教材C++HowtoProgram最新版为基础,涵盖了类与对象、控制语句、函数与递归、数组与向量、指针与基于指针的字符串、操作符重载、面向对象编程(继承与多态)等核心内容。本书采用了循序渐进的“类和对象提早介绍方法”。书中除了含有大量的自测题及自测题答案外,还包含了几个大的集成案例分析:GradeBook类、Time类以及Employee类。本书非常适合国内教学情况,可作为程序设计语言课程的教材,对于程序设计人员也是很好的技术参考书。采用DEITEL®LIVE-CODE方式的权威C++语言教材最新版!采用UML2介绍面向对象程序设计C++是最流行的面向对象程序设计语言之一。本书以全球使用最广泛的C++教材C++HowtoProgram最新版为基础,涵盖了核心的前13章内容,非常适合国内教学情况。书中采用了循序渐进的“类和对象优先介绍方法”。“优先介绍类和对象的方法非常好。书中LIVE-CODE示例与详细图形的结合,直观地阐明了C++的概念,非常独特。”——EarlLaBatt,新罕布什尔大学“新版标志着Deitel的C++系列图书的教学法又前进了重要一步。优先介绍类和对象符合当前的软件开发人员教育思路。书中的编码规范非常缜密,而且遵循最高的程序设计标准。”——RicHeishman,北弗吉尼亚社区学院“Deitel总能清晰地解释概念和思想,使学生全面理解语言和软件开发,我对此一直印象深刻。”——KarenArlien,Bismarck州立学院“本书在同类图书中出类拔萃。它是采用“对象优先”方法介绍C++的典范,初学者非常容易接受。”——GavinOsborne,Saskatchewan应用科学和技术学院“提早将UML介绍给学生是一个非常好的想法。”——RaymondStephenson,微软公司“多态这一部分讲得非常好,对编译器如何在幕后实现多态的解释尤其精彩。我真希望自己当学生时也能读到对其中数据结构这么清晰的阐述。”——EdJames-Beckham,Borland公司“我真的很喜欢书中完整的LIVE-CODE示例——它们为学生创建自己的代码提供了很好的起点。”——WilliamHonig,Loyola大学“书中集成的GradeBook案例分析真不错!它所展示的对象很有用,可以应用到学生的生活中。”——KarenArlien,Bismarck州立学院“在这本语言教材中,Deitel再次展示了他的大师风范:易于学习,内容全面,总是将学生读者的所需所想牢记在心。”——BrianLarson,Modesto专科学院本书完整地讲述了C++面向对象程序设计,其中包含了几个大的集成案例分析:GradeBook类(第3~7章)、Time类(第9章中的3小节)以及Employee类(第12~13章)。HarveyM.Deitel博士和PaulJ.Deitel是Deitel&Associates公司的创始人,该公司是国际上知名的企业培训和内容创建机构,专长是C++、Java、C、C#、VisualBasic.NET、VisualC++.NET、XML、Python、Perl、Internet、Web和对象技术。Deitel父子是许多畅销教材的作者,包括C++HowtoProgram,5/e、JavaHowtoProgram,6/e、Internet&WorldWideWebHowtoProgram,3/e和CHowtoProgram,4/e。本书的下载资源包括代码示例以及提供给教师、学生和专业人员的相关信息,下载站点为www.deitel.com和www.prenhall.com/deitel。作者的联系方式:deitel@deitel.com。获取有关DEITEL®DIVEINTO®SERIES提供的全球公司现场培训服务的相关信息以及订阅免费的DEITEL®BUZZONLINE电子简讯,请访问www.deitel.com。本书的习题和配套光盘的内容请从www.turingbook.com下载。封面正面文字:优先介绍类/对象/面向对象类、对象和封装继承多态性基础流I/O、类型和操作符控制语句和函数数组和向量指针和引用string类和C风格字符串操作符重载字符操作递归简介查找和排序简介UMLTM2确定类、属性和操作类图活动图集成的OOP案例分析GradeBook类Time类EmployeePayroll类 -
C程序设计教程崔武子, 赵重敏, 李青著本书是以C程序设计零起点读者作为主要对象的程序设计教程。全书用例子组织所有的教学内容,整体内容编排独特、组织形式新颖:1.将每章内容及习题,均分成必须掌握的基础部分和具有扩展性的提高部分,学时不足时,跳过提高部分不影响后续内容学习;2.针对学习“读程序容易,编程序难”的情况,书中凡涉及到算法的例子,在给出完整程序之前,都有增设了编程点拨,有些算法还提供了多种解法;3.将贯穿整个教学过程的一个实例分析阶段给出了相应的程序,随着讲授内容的增多,逐步完善其程序,最终达到实现实例的全部功能;4.分阶段通过具体例子介绍了调节器试程序的方法,以使读者及时体会不同阶段程序的调试程序的调试过程;5.习题形式新颖多样、由浅入深,而且提供单号习题的答案,方便学生自测和教师留作业;6.配备了专门辅导与实训教材及内容生动的电子教案。本书是高等院校C程序设计课程的教材,也可作为C语言自学者的参考书。【本书有配套电子教案(素材)库】 -
Visual C++/DirectX9 3D游戏开发导引叶至军著内容简介目录内容提要本书全面地介绍了使用Visual C++/DirectX9开发3D游戏的基本方法和步骤。全书共分为21章,主要内容包括Win32 API编程、3D游戏中的数学基础、各种3D渲染原理及其实现技术、DirectInput输入处理和DirectSound声效处理等。另外,对四元数的数学构造、骨骼动画的原理和实现,以及四叉树细节层级地形等其他同类书中很少提及的内容,本书都给出了十分详细的阐述和分析。配套光盘中提供了书中实例的完整工程文件和全部源代码,以方便读者编译、调试,巩固所学知识。本书面向于游戏开发人员,同时也可作为高等院校相关专业和培训机构的游戏课程用书。 目 录第1章 C/C++基础回顾 11.1 浅谈编程行为 11.2 程序结构和分割编译 41.3 编译预处理指令 51.4 程序的注释 71.5 变量的使用 71.6 函数的使用 91.7 指针和引用 101.8 流程控制语句 131.9 结构体和联合体 161.10 用类封装模块 181.11 类的继承 211.12 函数的重载、覆盖和隐藏 221.13 访问权限 231.14 本章小结 24第2章 Win32 API编程基础 252.1 基于回调的Windows程序运行机制 252.2 一个简单的Windows示例程序 262.3 WinMain函数及读取消息的循环体 322.4 注册窗口类 352.5 创建应用程序窗口实例 382.6 回调的窗口过程函数 392.7 编译和调试程序 432.8 匈牙利变量命名方法 452.9 本章小结 46第3章 DirectX 3D游戏开发入门 473.1 三维物体的基本成像流程 473.1.1 世界坐标系的引入 483.1.2 摄影坐标系的引入 493.1.3 剪裁和透视投影 513.1.4 视口变换和像素的光栅显示 523.2 光栅显示器的基本原理 543.3 显示卡的3D渲染管道线 553.4 浅谈COM组件技术 563.4.1 直接调用C++类的函数 573.4.2 将C++类打包成DLL提供调用 593.4.3 利用抽象基类改进C++类 613.5 DirectX 9.0的安装和配置 643.6 本章小结 67第4章 3D游戏中的数学基础 684.1 向量 684.1.1 向量相加 704.1.2 向量相减 714.1.3 向量的标量乘法 724.1.4 向量长度的计算 734.1.5 向量的单位化 744.1.6 向量的点积 754.1.7 向量的叉积 764.2 矩阵 784.2.1 矩阵的基本运算 804.2.2 矩阵的求逆 824.2.3 矩阵的转置 844.3 坐标变换 854.3.1 平移变换 864.3.2 放大缩小变换 894.3.3 旋转变换 904.4 平面 944.4.1 三点确定一个平面 944.4.2 直线与平面的交点 964.4.3 点和平面的位置关系 974.4.4 平面的单位化 984.5 四元数 994.5.1 四元数的数学史 994.5.2 复数的符合逻辑的定义 994.5.3 复数的高维推广:四元数 1004.5.4 四元数在旋转变换中的应用 1014.6 DirectX中的一些具体数学问题的计算 1044.6.1 世界坐标系到摄影坐标系的变换 1044.6.2 齐次剪裁透视投影变换 1064.6.3 视截体的平面计算 1074.6.4 透视投影空间到屏幕视口的变换 1114.7 本章小结 113第5章 键盘、鼠标和游戏杆的输入处理 1145.1 配置DirectInput的动态链接库 1145.2 创建DirectInput接口对象 1155.3 使用DirectInput接口函数 1175.4 设置DirectInput设备的数据格式 1185.5 设置DirectInput设备的协调级别 1195.6 获取输入设备的访问权 1205.7 设置DirectInput设备的属性 1205.8 读取键盘的输入 1225.9 读取鼠标的输入 1285.10 读取游戏杆的输入 1375.11 本章小结 147第6章 游戏框架、输入和时钟引擎类 1486.1 游戏框架类CGameEngine_App 1486.2 输入类CGameEngine_Input 1516.3 时钟类CGameEngine_Timer 1596.4 本章小结 163第7章 基本三角形面的绘制 1647.1 DirectX Graphics基本应用架构 1647.2 创建IDirect3D9接口对象 1667.3 创建Direct3D设备 1667.4 创建顶点缓冲区 1707.5 启动管道流水线进行渲染 1737.6 实例:绘制一个基本的三角形面 1757.7 本章小结 179第8章 基本立体面的绘制 1808.1 3D原始类型 1808.2 顶点顺序和背面剔除 1818.3 顶点索引缓冲区 1838.4 在世界坐标系中放置物体 1868.5 架设摄影机进行取景和投影 1878.6 屏幕视口的设置 1888.7 实例:绘制一个基本的立体面 1898.8 本章小结 196第9章 材质和光照处理 1979.1 颜色与光照 1979.2 光源设置 2009.2.1 点光源 2019.2.2 聚焦光源 2029.2.3 方向光源 2039.2.4 环境光 2049.3 材质设置 2049.4 顶点的法向量 2059.5 实例:点光源渲染 2079.6 本章小结 214第10章 纹理贴图 21510.1 顶点的纹理坐标 21510.2 创建纹理对象 21610.3 纹理过滤技术 21710.4 纹理地址模式 21910.5 实例:纹理贴图 22610.6 本章小结 234第11章 Alpha颜色混合 23511.1 颜色混合原理 23511.2 Alpha颜色混合例子 23711.3 利用ID3DXSprite实现颜色透明 24211.4 利用Alpha测试实现颜色透明 24811.5 本章小结 254第12章 XFile网格的应用 25612.1 .x文件的基本格式 25612.2 .x文件的数据装入 26212.3 Mesh数据的处理 26412.4 Mesh数据的优化 26712.5 实例:.x文件的网格渲染 26912.6 本章小结 275第13章 骨骼动画的实现 27613.1 骨骼动画的基本原理 27613.2 .x文件的动画格式 27913.3 .x文件动画数据的装入 28413.4 骨骼蒙皮的渲染 29213.5 实例:骨骼动画的实现 30013.6 本章小结 308第14章 视点相关的LOD地形渲染 31014.1 地形高度图 31014.2 地表的四叉树分割 31214.3 视点距离相关的细节层级判别 31914.4 地形节点的渲染 32614.5 规范节点的分割 33514.6 实例:LOD地形渲染 33814.7 本章小结 346第15章 基本3D渲染引擎类 34715.1 场景管理类CGameEngine_SceneManager 34715.2 纹理处理类CGameEngine_Texture 35715.3 顶点处理类CGameEngine_VertexBuffer 35915.4 光照处理类CGameEngine_Light 36315.5 材质处理类CGameEngine_Material 36615.6 本章小结 368第16章 天空和广告牌技术 36916.1 矩形面天空 36916.2 球面天空 37816.3 广告牌技术 38616.4 本章小结 391第17章 雾化处理 39217.1 雾化原理 39217.2 雾化融合 39317.3 雾化颜色 39417.4 选择雾化模式 39417.5 顶点雾化 39417.6 像素雾化 39717.7 本章小结 398第18章 文字和能量格渲染 39918.1 ID3DXFont接口的应用 39918.2 字体引擎类CGameEngine_Font 40018.3 能量格引擎类CGameEngine_EnergyBar 40418.4 实例:文字和能量格渲染 40818.5 本章小结 414第19章 粒子系统 41519.1 用Point Sprite实现粒子 41519.2 粒子引擎类CGameEngine_Particle 41719.3 实例:爆炸粒子渲染 42519.4 本章小结 427第20章 Stencil蒙板阴影处理 42820.1 Stencil蒙板缓冲区 42820.2 平面阴影计算 43120.3 实例:平面阴影渲染 43320.4 ShadowMap阴影映射图技术 44320.5 ShadowVolume阴影体技术 44520.6 本章小结 448第21章 DirectSound声音播放 44921.1 声音的播放原理 44921.2 创建IDirectSound8对象 45121.3 设置设备的协调级别 45121.4 Primary主缓冲区的创建 45221.5 Secondary次缓冲区的创建 45421.6 装入声音数据到次缓冲区 45721.7 声音的播放与控制 45821.8 CGameEngine_Sound声音引擎类 46021.9 实例:DirectSound的声音渲染 46621.10 3D声效的使用 46821.11 本章小结 472
