Welcome 微信登录

首页 / 软件开发 / C++

谁动了我的指针?

谁动了我的指针?

谁动了我的指针?2009-10-07译者序:本文介绍了一种在调试过程中寻找悬挂指针(野指针)的方法,这种方法是通过对new和delete运算符的重载来实现的。这种方法不是完美的,它是以调试期的内存泄露为代价来实现的,因为文中出现的代码是绝不能出现在一个最终发布的软件产品中的,只能在调试时使用。在VC中,在调试环境下,可以简单的通过把new替换成DEBUG_NEW来实现功能更强更方便的指针检测,详情可参考MSDN。DEBUG_NEW的实现思路与本文有相通的地...
如何快速检测PocketPC是否已经连接到PC上

如何快速检测PocketPC是否已经连接到PC上

如何快速检测PocketPC是否已经连接到PC上2009-10-07如果在程序中检测PocketPC(以下简称PPC)是否已经连接到PC上。PocketPC SDK提供了一组RAPI函数,我们可以通过其中的CeRapiInit或者CeRapiInitEx来检测。先说CeRapiInit,它的定义是:HRESULT CeRapiInit(void);这个函数调用起来比较简单一些,只需要检测其返回值就可以。但是当PPC并没有连接到PC上时,该函数会一直等待而不...
VC++删除浮动工具条中“关闭”按钮

VC++删除浮动工具条中“关闭”按钮

VC++删除浮动工具条中“关闭”按钮2009-10-07在Visual C++自动生成的MFC框架应用程序中,当浮动工具条被拖离主框架窗口后,一般都会在工具条的右上角有一个"关闭"按钮,应该说这个按钮完全是按照Windows应用程序的用户界面(UI)设计规范而设计的,也就是说所有的窗口都应该有一个地方让用户可以关闭这个窗口。但是有的开发人员偏偏提出来不想要这个"关闭"按钮。本实例通过自定一个扩展的工具条类,实现了删除...
VC++中使用ADO方式操作ACCESS数据库

VC++中使用ADO方式操作ACCESS数据库

VC++中使用ADO方式操作ACCESS数据库2009-10-07 天极 ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。本文详细地介绍在Visual C++开发环境下如何使用ADO来进行数据库应用程序开发,并给...
Visual C++进程间数据通信的实现

Visual C++进程间数据通信的实现

Visual C++进程间数据通信的实现2009-10-07在Windows系统中,各个应用程序(进程)之间常常需要交换、传递数据,这就要解决进程间的数据通信问题。在最初的16位Windows3.x系统中,所有Windows应用程序共享单一地址,任何进程都能够对这一共享地址空间的数据进行读写操作。随着Windwos98、WindowsNT、Windows2000等32位的操作系统的出现,规定每个进程都有自己的地址空间,一个Windows进程不能存取另一个进...
C++内存泄漏检测拾遗

C++内存泄漏检测拾遗

C++内存泄漏检测拾遗2009-10-07 cnblogs 放牛娃在MFC开发环境中,当运行退出了,Visual Studio会在输出窗口提示是否有内存泄漏。也可以借助MFC类CMemoryState动态地检测并输出内存泄漏信息。在非MFC框架中,需要借助CRT函数实现这些功能。1. 调用_CrtDumpMemoryLeaks()函数会在输出窗口中输出当前的内存泄漏。若在程序开始处加上:_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_D...
利用VC调用动态链接库中的函数

利用VC调用动态链接库中的函数

利用VC调用动态链接库中的函数2009-10-07自从微软推出16位的Windows操作系统起,此后每种版本的Windows操作系统都非常依赖于动态链接库(DLL)中的函数和数据,实际上Windows操作系统中几乎所有的内容都由DLL以一种或另外一种形式代表着,例如显示的字体和图标存储在GDI DLL中、显示Windows桌面和处理用户的输入所需要的代码被存储在一个User DLL中、Windows编程所需要的大量的API函数也被包含在Kernel DLL...
VC增加自定义消息

VC增加自定义消息

VC增加自定义消息2009-10-07ClassWizard不允许增加用户自定义消息,所以你必须手工输入。输入后,ClassWizard就可以象处理其它消息一样处理你自定义的消息了。下面是增加自定义消息的步骤:第一步:定义消息。开发Windows95应用程序时,Microsoft推荐用户自定义消息至少是WM_USER+100,因为很多新控件也要使用WM_USER消息。第二步:实现消息处理函数。该函数使用WPRAM和LPARAM参数并返回LRESULT。LR...
VC函数中的延时操作

VC函数中的延时操作

VC函数中的延时操作2009-10-07说到程序中的延时,你会想到怎么做,新开一个线程?如果我的程序只用单线程,却又想让函数等上10秒才返回值,而且还不能像使用Sleep函数那样不能处理其它消息呢?我在这里把论坛里能见到的几种延时方式总结一下。另外,主要是学习的别人的sources,版权不在我,如果本文对大家有用,请分别感谢文中的这些作者(CSDN上的ID):laiyiling(最熟悉的陌生人)、QunKangLi(雾痕)、tyzyx(炸平日本岛)。从陌生...
VC应用程序框架

VC应用程序框架

VC应用程序框架2009-10-08VC应用程序框架提供的强大功能,为我们的开发提供了极大的方便,利用它可以很轻松地生成应用程序的框架.许多常用功能,例如文档的创建,文件的打开,保存等操作的大部分代码都由应用程序框架来完成.这些操作对于开发软件的用户而言是透明的。微软设计Visual C++的初衷是尽量向用户提供尽可能简单的接口,但是,正是因为应用框架的这一透明性,使VC的运行流程显得非常神秘,当涉及这些VC已经提供的功能模块的软件开发时,用户(特别是那些...
VC通用控件编程之CImageList控件

VC通用控件编程之CImageList控件

VC通用控件编程之CImageList控件2009-10-15本站收集整理图像列表控制(CImageList)是相同大小图像的一个集合,每个集合中均以0为图像的索引序号基数,图像列表通常由大图标或位图构成,其中包含透明位图模式。可以利用WINDOWS32位应用程序接口函数API来绘制、建立和删除图像,并能实现增加、删除、替换和拖动图像等操作。图像列表控制提供了控制图像列表的基本方法,这些方法在WINDOWS95及以后版本才能实现。(一)图像控制的对象结构1...
怎样在VC++中访问和修改注册表

怎样在VC++中访问和修改注册表

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

CRectTracker类的使用

CRectTracker类的使用2009-10-15二鸡蛋CRectTracker(俗称“橡皮筋”类)是一个非常有意思的类。你在Windows中经常看到这样的情况:它可以用做显示边界,你也可以扽它的八个角用来放大缩小,或做框选使用。如何通过编程来实现这种功能呢?这就是CRectTracker类的作用;(框选) (显示边界并可以缩放)你打开上面的那个工程文件,编译运行一下。你将看到CRectTracker的几种...
VC中实现历史记录的全面清除

VC中实现历史记录的全面清除

VC中实现历史记录的全面清除2009-10-15陈亮前言:在本人用完计算机之后,往往不希望别人发现你做过什么,和浏览过什么网址。(特别是和多人共用一台机子时)。当然,你可以手工清理那些记录。 但那是多么繁杂的一件事啊。 我想没人愿意那样做。于是,我想到用一个软件来一次性完成上述工作。清除历史记录的文章很多,但是一般都不够全面。本人经过整理和收集一些资料,加以融合。得到了一个较全面的历史记录清除方法。下图便是本文例子程序的运行效果图,我们可以从中看到该例子具...
编写控制面板程序的一个例子

编写控制面板程序的一个例子

编写控制面板程序的一个例子2009-10-24zxn最近在编写一个Windows 98 和 Windows 2000 系统中使的MPEG播放器,我想创建一个控制面板程序,用户可以通过这个程序改变播放器的 基本配置。大家知道,控制面板程序一般都是个DLL动态库,然后将名字改为*.cpl。查找了许多资料后,发现所看到的一些例子都是用C写的。能不能在MFC中用C++来编写一个呢?答案是肯定的。本文将通过一个实际的VC++例子来示范如何编写MFC控制面板程序。首先...
在VC++6.0中利用串行通信控件

在VC++6.0中利用串行通信控件

在VC++6.0中利用串行通信控件2009-10-24崔杰 梁计春 王国军目前,在用计算机进行数据传输时,常用的是串行通信方式。在Visual C++的编程中,既可以用Windows API函数进行串行通信编程,也可以利用环境自带的控件进行编程。利用 API函数编写实际应用程序时,往往要考虑多线程的问题,这样编出来的程序不但十分庞大,而且结构比较复杂,继承性差,维护困难。但是使用串行通信控件就相对简单一些,而且功能强大,性能安全可靠。本文以Microsof...
TIF格式图像文件初探

TIF格式图像文件初探

TIF格式图像文件初探2009-10-27 刘晖一、前言因工作需要,本人经常接触一些图像方面的编程工作。目前图像领域中的格式很多且大部分官方说明都是英文文档,实在令人头疼,我想受此困扰的程序员朋友不在少数吧。这里本人不揣浅陋,写了一个将TIF格式转换成BMP格式图像的程序,供大家参考。请不吝赐教。注:TIF是可扩充标记的文件,所以理论上是不可能编写一个能识别所有类别TIF格式的读写程序,这里只是给大家提供一个思路, 将TIF图像转换成BMP图像后就可以使用...
<< 11 12 13 14 15 16 17 18 19 20 >>