
基础类
文章平均质量分 73
kugou123
VC MVP 2005~2008
展开
-
自增操作的反汇编分析
在考试或者做题的时候,经常遇到这类问题,出题的老师就是爱在这点上面钻牛脚尖,那就是自增自减操作的组合运算,我个人认为,考这样的题,没多大意思,因为各个编译器不同,出来的结果也不同,而且这样有一种误导,而失去了语言学习的本质,但是我们还是得面对……悲哀啊。下面我用汇编来分析一下这个例子:#include "stdio.h"int main(){ int i=0,n = 0; n = (++i)+原创 2004-08-07 23:19:00 · 2744 阅读 · 0 评论 -
枚举注册表键名与键值
枚举注册表键名与键值的一个函数:// QueryKey - Enumerates the subkeys of key, and the associated // values, then copies the information about the keys and values // into a pair of edit controls and list boxes. /原创 2004-12-29 16:23:00 · 2248 阅读 · 0 评论 -
工具条加入文本名称
主要函数1.CToolBar::SetSizes(SIZE sizeButton,SIZE sizeImage)用于设置工具按钮的大小以及它上面的位图的大小.这个函数有两个参数,其中,sizeButton用于指定按钮的大小,sizeImage用于指定位图的大小.需注意的是:这两个参数的cx域和cy域都必须大于零,并且,sizeButton的宽度(cx)至少要比sizeImage的宽度大7,高度(c原创 2004-12-29 16:21:00 · 1346 阅读 · 0 评论 -
用API实现繁体简体的转换(收藏)
1. 输入Big5字符,返回Gb简体字符 //--------------------------------------------------------------------------- //函数输入Big5字符,返回Gb简体字符 //--------------------------------------------------------------------原创 2004-12-29 16:17:00 · 1782 阅读 · 0 评论 -
FAQ2004:删除非空目录下所有文件
【问题】怎样删除一个非空目录,及其目录里面所有内容:【解答1】如果不进行递归删除。你可以使用API函数SHFileOperation,它可以一次删除目录及其下面的子目录和文件。 示例代码: BOOL DelTree(LPCTSTR lpszPath){ SHFILEOPSTRUCT FileOp; FileOp.fFlags = FOF_NOCONFIRMATION; FileO原创 2004-12-29 16:25:00 · 1492 阅读 · 0 评论 -
链接错误浅谈
学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: unresolved e原创 2004-12-29 16:21:00 · 1236 阅读 · 0 评论 -
VC中的自定义消息(收藏)
Windows 应用程序所要做的每项工作几乎都是基于消息处理的, Windows 系统消息分为常用 Windows 消息,控件通知消息和命令。然而,有时我们需要定义自己的消息来通知程序什么事情发生了,这就是用户自定义消息。 ClassWizard 并没有提供增加用户自定义消息的功能,所以要使用用户自定义消息,必须手工编写代码。然后 ClassWizard 才可以象处理其它消息一样处理你自定义的消息原创 2004-12-29 16:19:00 · 1227 阅读 · 0 评论 -
关于Debug和Release之本质区别的讨论(收藏)
本文主要包含如下内容:1. Debug 和 Release 编译方式的本质区别2. 哪些情况下 Release 版会出错3. 怎样“调试” Release 版的程序-------------------------------------- 一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员原创 2004-12-29 15:52:00 · 3236 阅读 · 0 评论 -
堆和栈的区别(转载)
在bbs上,堆与栈的区分问题,似乎是一个永恒的话题,由此可见,初学者对此往往是混淆不清的,所以我决定拿他第一个开刀。 首先,我们举一个例子: void f() { int* p=new int[5]; } 这条短短的一句话就包含了堆与栈,看到new,我们首先就应该想到,我们分配了一块堆内存,那么指针p呢?他分配的是一块栈内存,所以这句话的意思就是:在栈内存中存放了一个指向一块堆原创 2004-12-29 15:47:00 · 885 阅读 · 0 评论 -
注册文件类型,关联文件
BOOL function::RegisterFileType(LPCTSTR houzhui,LPCTSTR fmiaoshu,LPCTSTR wmiaoshu,LPCTSTR filepath){HKEY hKey = NULL; DWORD dwDip=0;LPTSTR newreg=new TCHAR[512];TCHAR bufpath[256];if(filepath==NULL)Ge原创 2006-02-22 13:41:00 · 2059 阅读 · 0 评论