用VC++编写扫雷游戏
HOT

本文从分析Windows扫雷游戏的功能特点开始,应用面向对象的可视化编程语言Visual C++给出了个功能模块的具体实现方法,并提供了编写小游戏程序的一般方法和Visual C++的一些使用技巧。首先分析扫雷的最基本功能。点击鼠标左键于未知区域,如果未知区域有雷,游戏停止,显示所有的地雷。如果没雷,则显示周围雷数,如果周围没雷,则再查看周围八个区域是否有雷直到有雷为止并显示,这其实是一个递归过程...
阅读全文

用CFileFind类实现的目录树遍历
HOT

目录树遍历顾名思义就是把目录树中所有的目录及文件依次查找一遍,WINDOWS里的文件查找程序和SafeClean Utilities(环保卫士)等都用到了目录树遍历。我们当然也可以在自己的程序中加入这一功能。下面就是该算法的源代码。代码不长,应该很好懂。大家只要在工程中添加一个 Search 类再将代码拷贝到文件中就可以了。调用时用如下代码: Search find("c:\", "*.exe")...
阅读全文

在VC++中访问和修改系统注册表
HOT

Windows95/98的注册表包含了Windows95/98的系统配置、PC机的硬件配置、Win32应用程序和用户的其他设置信息。注册表和INI文件不同,它是多层次的树状数据结构,具有六个分支(根键),每个分支又由许多的键和键值组成,而每个键则代表一个特定的配置项目。  在实际的编程工作中,我们遇到了如何在Visual C++中对Windows95/98注册表整个树状结构信息进行访问和修改的问题...
阅读全文

利用ATL制作程序多媒体封面组件
HOT

COM的优越就不多说,使用ATL开发COM方便而快捷,并且具有Size小,Dependency少的特点。VC++的import 编译支持更是对COM开发的巨大支持。闲话休说,这就开始吧。  一.Flash组件        1.ATL COM AppWizard创建新项目"ATLFlash",选择DLL类型。 ...
阅读全文

VC++多线程下内存操作的优化
HOT

许多程序员发现用VC++编写的程序在多处理器的电脑上运行会变得很慢,这种情况多是由于多个线程争用同一个资源引起的。对于用VC++编写的程序,问题出在VC++的内存管理的具体实现上。以下通过对这个问题的解释,提供一个简便的解决方法,使得这种程序在多处理器下避免出现运行瓶颈。这种方法在没有VC++程序的源代码时也能用。问题    C和C++运行库提供了对于堆内存进行管理的...
阅读全文

找出键盘上当前按下的键
HOT

一、问题的提出  有的程序员希望能够识别所有键盘上按下的键,以便在应用程序中能够正确地处理它。特别希望知道的是用户是否按下了键 SHIFT、CTRL、ALT、NUMLOCK 或 CAPSLOCK。对于键 SHIFT、CTRL 和 ALT,程 序员关心的用户是否当前按下此键;对于键 NUMLOCK 和 CAPSLOCK,程序员只关心用户是否在应用程序取得控制之前选取了此键。二、解决方法  这是一个非...
阅读全文

BMP位图文件结构及VC操作
HOT

 用普通方法显示BMP位图,占内存大,速度慢,在图形缩小时,失真严重,在低颜色位数的设备上显示高颜色位数的图形图形时失真大。本文采用视频函数显示BMP位图,可以消除以上的缺点。 ---- 一、BMP文件结构 ---- 1. BMP文件组成 ---- BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。 ---- 2. BMP文件头 ---- BMP文件头数据结构含有BMP文件的...
阅读全文

屏幕取词核心内幕
HOT

本文只对与几个关键性技术的实现细节进行讨论,其它的编程细节,请参考源程序。32位到16位的形式替换32位代码与16位代码的数据交换  动态修改Windows内核 1.  32bit到16bit的形式替换(Thunk)形式替换是指那些允许从16位代码调用32位代码或从32位代码调用16位代码的技术。形式替换用于解决试图在同一操作系统或同一可执行程序上使16位代码与32位...
阅读全文

优化了的过关键点的光滑曲线拟合算法
HOT

这个是我一个数学老师(教授,数学高手,经常自己做算法)给我的例子,用于多个离散点拟合光滑曲线的,他优化了追赶法,这个例子适用于闭合和不闭合两种情况。当时由于工程情况,写的急,代码不好看,但是很好用。为了方便传递参数,我做了一个链表,用时候根据自己情况可以修改,核心算法不动即可。class CFoldPoint{public:    double X; &nb...
阅读全文

用C语言开发DSP嵌入式系统
HOT

摘 要:目前很多嵌入式系统以DSP为核心构建,但是采用汇编语言开发DSP系统存在开发难度大、开发周期长、维护性差等缺点,应用C语言开发DSP系统是广大嵌入式开发者的迫切要求。有关单片机的C语言开发有相当多的资料可以参考,而DSP系统的C语言开发却很少见,本文以TI公司的DSP器件TMS320F24X系列为例讲述怎样用C语言开发一个完整的DSP嵌入式系统。关键词:嵌入式系统、DSP系统、C语言开发、...
阅读全文

C++中class与struct的区别
HOT

  很老的问题了。今天稍微总结了下,有遗漏的地方和错误的地方还望大家补充。   关于使用大括号初始化  class和struct如果定义了构造函数的话,都不能用大括号进行初始化  如果没有定义构造函数,struct可以用大括号初始化。  如果没有定义构造函数,且所有成员变量全是public的话,可以用大括号初始化。  关于默认访问权限  class中默认的成员访问权限是private的,而stru...
阅读全文

C++语言代码检查工具PC-Lint四步速成
HOT

 概述  PC-Lint是一个历史悠久,功能异常强劲的静态代码检测工具。它的使用历史可以追溯到计算机编程的远古时代(30多年以前)。经过这么多年的发展,它不但能够监测出许多语法逻辑上的隐患,而且也能够有效地帮你提出许多程序在空间利用、运行效率上的改进点,在很多专业级的软件公司,比如Microsoft, PC-Lint检查无错误无警告是代码首先要过的第一关,我个人觉得,对于小公司和个人开发而言,PC...
阅读全文

C++中禁止异常信息传递到析构函数外
HOT

  在有两种情况下会调用析构函数。第一种是在正常情况下删除一个对象,例如对象超出了作用域或被显式地delete。第二种是异常传递的堆栈辗转开解(stack-unwinding)过程中,由异常处理系统删除一个对象。   在上述两种情况下,调用析构函数时异常可能处于激活状态也可能没有处于激活状态。遗憾的是没有办法在析构函数内部区分出这两种情况。因此在写析构函数时你必须保守地假设有异常被激活,因为如果在...
阅读全文

C++初学者应该关心的优秀图书一览
HOT

 1.The C++ Programming Lanuage, by Bjarne Stroustrup, Speical 3rd edition,Addison Wesley     这是C++创始人B教主之力作,描述C++语言之经典一书。这本书第三版是97年出的,B教主老人家给这本书开了个网页http://www.research.att.com/~bs/3rd.html,2000年...
阅读全文
112 页 / 共 196