自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

转载 IUnknown—COM和MFC

转自:http://hi.baidu.com/zhangqiuxi/blog/item/6d9603ad9c8fe5084b36d6a0.html问题:      我用MFC编写COM程序有一段时间了,知道如何使用宏和嵌套类,以及如何在嵌套类中处理IUnknown接口,但对IUnknown的使用还是不太老练。假设CMyClass是一个COM服务器,从CCmdTarget派生。它实现了IMy

2009-10-17 01:52:00 594

转载 C++局部类和嵌套类

局部类在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有成员函数都必须定义在类体内。在实践中,局部类是很少使用的。下面是一个局部类的例子。int a;void fun(){static int s;class A{public:   void init

2009-10-14 16:15:00 477

转载 lib和dll文件的区别和联系【转~~相当经典】

(1)lib是编译时需要的,dll是运行时需要的。 如果要完成源代码的编译,有lib就够了。 如果也使动态连接的程序运行起来,有dll就够了。 在开发和调试阶段,当然最好都有。 (2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的,而dll文件是运行期才会被调用的。如果有dll文件,那么对应的lib文件一般是一些索引信息,具体的实现在dll文件中。如果只有l

2009-10-13 20:27:00 537

原创 const用法小议

const是C++的关键字之一,与其他的关键字相比,C++初学者可能对于const的使用会一时摸不着头脑,若能正确的使用const,将使你的程序更加Robust!测试题先行~~1 int i = 5;2 const int *ip = &i;3 int const *ip = &i;4 int* const ip = &i;5 const int* const ip = &i;对于

2009-10-09 14:56:00 396

转载 Visual C++中窗口子类化技术的实现及其应用

一、引言    在Windows编程中,如果我们想在窗口程序执行时改变它所包含的控件(对话框中的按钮、下拉式菜单等)的某些行为,采用窗口子类化技术是一个不错的选择。可以使用对已有控件派生子类的方式定义一个子类,而控件的消息处理则在新定义的子类里定义。适当使用子类化技术创建出容易使用的新窗口类,往往可以使你的程序界面更具人性化。    二、窗口子类化技术概述    Windows的窗口类

2009-10-09 12:21:00 480

原创 8皇后问题算法

/////////////////////////八皇后问题 回朔法  //该算法的思路是:每个皇后先后从第一列出发,找合适自己的列的位置。当找到合适的位置//   则下一个皇后出发。如果没找到则回朔到上一个皇后继续找,知道8个皇后全有合适位置为止。#include #define MAX 8int Match(int line[],int p)   //检测是否符合条件{ int i; 

2009-10-09 00:24:00 544

原创 关于框架类和视图类的PreCreateWindow函数的重载!!

框架类: static LPCSTR classname=NULL; if( !CFrameWnd::PreCreateWindow(cs) )  return FALSE; // TODO: Modify the Window class or styles here by modifying //  the CREATESTRUCT cs    if(classname==NULL) 

2009-10-07 13:43:00 1052

原创 volatile的用法

volatile 影响编译器编译的结果,指出,volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错,(VC++ 在产生release版可执行码时会进行编译优化,加volatile关键字的变量有关的运算,将不进行编译优化。)。 例如: volatile int i=10; int j = i; ... int k = i; volatile 告诉编

2009-10-03 10:19:00 422

原创 DPtoLP的符号问题

DPtoLP函数转换坐标后不改变其符号。所以在用y值向下递减的模式绘图时要注意,假设取得了设备坐标sizemount(其x和y坐标肯定都为正),再通过pDC->DPtoLP(&sizemount);将其转换成逻辑坐标后直接用来绘图会出问题。所以必须先将sizemount的y坐标变成负值再绘图。

2009-10-02 13:34:00 964

原创 KMP算法理解

KMP算法的关键之处在于next数组的理解!假设t为目标,p为模式。j为t中下标,i为p中下标。先从朴素模式匹配算法理解下或许会好些:当模式串中的p[i]与目标串中的t[j]不等时,需要把目标中的指针回朔到j-i+1处重新用t[j-i+1]与p[0]匹配。在目标指针回朔的过程中,就可能导致许多不必要的重复匹配。 KMP算法的思想是:当p[i]!=t[j]时,要能找到模式串一个大

2009-10-01 23:30:00 686

原创 Josephus算法解答~

Josephus问题:设有n个人围坐在一个圆桌周围,现在从第s个人开始报数,数到第m的人出列,然后从出列的下一个人重新开始报数,数到第m的人又出列。。。。如此反复直到所有的人全部出列为止。问题是 :任意给定n,s,m,求按出列次序输出姓名。#include #include struct Node;typedef struct Node * PNode;struct Node{ cha

2009-09-29 21:53:00 909

转载 C/C++中数据的存储管理 【收集+总结】

先来看看全局变量和全局静态变量和局部静态变量的区别:全局变量:整个工程的所有文件的任何函数都可访问    全局静态变量:只有包含该变量的文件的任何函数都可访问,但它是静态分配内存     局部静态变量:就是只能在该函数内使用,内存也是静态分配   int   i;   //全局变量     static   int   j;   //全局静态变量     void   f()    

2009-09-29 15:56:00 944 2

转载 mfc中句柄与指针的区别

所谓句柄实际上是一个数据,是一个Long (整长型)的数据。 句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整数,WINDOWS使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。WINDOWS句柄有点象C语言中的文件句柄。 从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名

2009-09-28 19:59:00 793

转载 关于C中函数的可变参数va_list...(转)

◎用法:func( Type para1, Type para2, Type para3, ... ){ /****** Step 1 ******/ va_list ap; va_start( ap, para3 ); //一定要“...”之前的那个参数 /****** Step 2 ******/ //此

2009-09-27 20:01:00 612

转载 浅谈C中的malloc和free

在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助!

2009-09-26 16:06:00 548

原创 DDX_TEXT怎么实现数据从控件到变量还是从变量到控件

关键之处在于DDX_TEXT的第一个参数CDataExchange CDataExchange::CDataExchange msdn: This method constructs a CDataExchange object. CDataExchange( CWnd* pDlgWnd, BOOL bSaveAndValidate ); pDlgWnd Pointer to the pa

2009-09-26 10:43:00 4049

转载 错误:error LNK2001: unresolved external symbol

usesax.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall MySAX2Handler::startElement(unsigned short const * const,unsigned short const * const,unsigned short c

2009-08-27 15:18:00 1525

原创 面包店算法理解

boolean  choosing[n];表示进程是否在取号int  number[n];记录每个进程取到的号码这些数据结构分别初始化为false和0,为了方便,定义如下符号:若ado{               choosing[i] = true;  number[i] = max{number[0],number[1],…,number[n-1]}+1;//选号码  cho

2009-08-19 22:50:00 7995

原创 【操作系统概念】一书中4.6题进程同步算法的解答

先理解下缓冲区中最多同时有BUFFER_SIZE-1个项的方案:感觉这个方案的算法挺经典的!!#define BUFFER_SIZE 10typedf struct{...}item;item buffer[BUFFER_SIZE];int  in=0;int  out=0;生产者进程代码:while(1){/*produce an item in ne

2009-08-17 23:00:00 1521

原创 16位代码段和32位代码段的区别

  关于16位和32位 :涉及到寄存器的位数和段的位数。寄存器的位数就是:8086下CPU的寄存器位数是16位的;80386下CPU的寄存器位数是32位的。使用.8086伪指令将汇编语言编译成8086的指令;(默认)使用.386p伪指令将汇编语言编译成80386的指令。所以要使用32位的寄存器时,使用.386p伪指令。 而段的位数却是由段定义说明中的use16和use3

2009-08-09 17:50:00 2504

转载 rand和srand产生伪随机数总结

标准库 (被包含于 中)提供两个帮助生成伪随机数的函数: 函数一:int   rand(void); 从srand   (seed)中指定的seed开始,返回一个[seed,   RAND_MAX(0x7fff))间的随机整数。 函数二:void   srand(unsigned   seed); 参数seed是rand()的种子,用来初始化rand()的起始值。 可以认为rand()在每次被

2009-07-28 23:35:00 713

原创 关于在SetWindowLong函数中使用cbWndExtra的一点总结

感谢chehw的指点:cbWndExtra其实是在SetWindowLong函数中对应标识GWL_USERDATA的使用 wndclass.cbWndExtra = 2*sizeof (long) ;该语句在窗口中额外留了8字节的空间 当用SetWindowLong(hwnd,iData,dData)函数设置额外空间中的值时,当iData为0时,是设置额外空间中的前4个字节的值

2009-07-27 03:10:00 1537

转载 【转帖】关于GlobalAlloc,GlobalLock,GlobalUnLock的理解

关于GlobalAlloc,GlobalLock,GlobalUnLock调用GlobalAlloc函数分配一块内存,该函数会返回分配的内存句柄。 调用GlobalLock函数锁定内存块,该函数接受一个内存句柄作为参数,然后返回一个指向被锁定的内存块的指针。 您可以用该指针来读写内存。 调用GlobalUnlock函数来解锁先前被锁定的内存,该函数使得指向内存块的指针无效。 调用GlobalF

2009-07-25 00:18:00 616

原创 SetWindowLong和SetClassLongh函数关于索引GWL_WNDPROC,GCL_WNDPROC的区别

个人看法,如有雷同,纯属巧合!!!SetWindowLong:The SetWindowLong function changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window m

2009-07-20 09:14:00 5629

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除