自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

悠游coding

有德容乃大,无求品自高

  • 博客(26)
  • 收藏
  • 关注

转载 B树、B-树、B+树、B*树都是什么

 B树、B-树、B+树、B*树都是什么 B树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       如:                          B树的搜

2009-11-09 10:49:00 580

转载 C#运行时的泛型

C#运行时的泛型泛型类的编译方法与常规类的编译方法几乎没有差别。事实上,编译结果只不过是元数据和中间语言 (IL)。当然,为了接受代码中用户提供的类型,应对 IL 进行参数化。根据提供的类型参数是值类型还是引用类型,泛型的 IL 的用法会有所不同。当将值类型作为参数首次构造泛型时,运行时将使用提供的参数替换 IL 中的相应位置来创建一个专用的泛型。针对每个用作参数的唯一值类型,将一次性创建

2009-10-28 10:29:00 1073

转载 VC 小技巧代码

一、打开CD-ROM mciSendString("Set cdAudio door open wait",NULL,0,NULL); 二、关闭CD_ROM mciSendString("Set cdAudio door closed wait",NULL,0,NULL); 三、关闭计算机 OSVERSIONINFO OsVersionInfo; //包含操作系统版本信息的数据结构 OsVersi

2009-08-13 09:30:00 566

转载 GUI程序也能使用控制台窗口

很多时候,调试GUI程序是很不方便的,通常的做法是使用MessageBox,但是作为一个模态窗口,它经常产生不必要的消息,比如killfocus, setfocus或者paint,从而影响调试的执行过程。当然,使用vc的调试器也不错,但是这样也很容易造成窗口切换从而产生干扰消息。因此,如果能像在控制台程序里那样使用cin/cout对象或printf族函数,会使得调试过程方便得多。而通常,windo

2009-08-07 20:06:00 928

转载 Windows对象、句柄与MFC对象

      Windows对象是以句柄来标识的,对应的MFC类就是这些句柄的C++包装。内存中的Windows对象一定有唯一的句柄来标识,但不一定有对应的MFC类对象在内存中。当需要获取Windows对象的对应MFC类对象而内存中又没有此对象时,系统会创建一个临时MFC类对象返回给用户,并在之后某个空闲时刻进行回收。   Windows对象句柄及其对应的MFC类如下表所示:

2009-08-06 14:18:00 2024

转载 共享内存与线程局部存储

城里的人想出去,城外的人想进来。这是《围城》里的一句话,它可能比《围城》本身更加有名。我想这句话的前提是,要么住在城里,要么住在城外,二者只能居其一。否则想住在城里就可以住在城里,想住在城外就可以住在城外,你大可以选择单日住在城里,双日住在城外,也就没有心思去想出去还是进来了。 理想情况是即可以住在城里又可以住在城外,而不是走向极端。尽管像青蛙一样的两栖动物绝不会比人类更高级,但能适应于更多环境的

2009-08-05 13:33:00 748

转载 C语言宏的使用

写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。  1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedef un

2009-08-03 13:31:00 429

转载 函数的调用规则(__cdecl,__stdcall,__fastcall,__pascal)

  关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解。        microsoft的vc默认的是__cdecl方式,而windows API则是__stdcall,如果用vc开发dll给其他语言用,则应该指定__stdcall方式。堆栈由谁清除这个很重要,如果是要写汇编函数给C调用,一定要小心堆栈的清除工

2009-07-29 22:25:00 455

转载 __cdecl 与 __stdcall

1.如果函数func是__cdecl(默认调用方式),调用时情况如下     int   main()    ...{    //参数从右到左压栈    push   4    push   3    push   2    push   1    call   func    add   esp   0x10   //调用者恢复堆栈指针esp,4个参数的大小是0x10(4x4)    }  

2009-07-29 22:19:00 514

转载 C run-time library (C运行时库)说明

1)运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数. 2)C 语言是所谓的“小内核”语言,就其语言本身来说很小(不多的关键字,程序流程控制,数据类型等);所以,C 语言内核开发出来之后,Dennis Ritchie 和 Brian Kernighan 就用 C 本身重写了 90% 以上的 UNIX

2009-07-29 14:36:00 446

转载 GetWindowRect与GetClientRect(转)

先调用GetWindowRect后再调用ScreenToClient,这个时候得到的rect和直接使用GetClientRect得到的值是相等的。有时候需要获得窗口矩形的大小和客户区矩形的大小二者的值,故需要分别调用GetWindowRect和GetClientRect。如果只需要获得客户区矩形的大小,调用GetClientRect就行了。GetWindowRect和GetCl

2009-07-10 17:31:00 639

原创 ONERASEBKGND OnPaint OnDraw

ONERASEBKGND()是画背景的,先与OnPaint()运行OnPaint( )與OnDraw( )的區別: OnPaint()是消息響應函數,默認是WM_PAINT消息的入口. OnDraw()是虛函數,是被OnPaint( )調用的函數. OnPaint( )優先于OnDraw( ),如果重載了OnPaint( ),則不會響應OnDraw( ).如果需要,則需明確調用OnDraw(

2008-10-22 13:32:00 1367

原创 About winexec and ShellExecute

         WinExec相当于DOS年代C语言里的system(...),VC为了保持与16位程序的兼容,把system改了个名字,就成了WinExec,所以只能执行标准的执行文件,如果你执行WinExec("Temp.txt"),那是行不通的。在32位的世界里推荐CreateProcess,这个函数的参数非常多。至于那个ShellExecutEx,顾名思义,通过Windows的She

2008-10-10 10:14:00 519

转载 The meaning of LPTSTR、LPCSTR、LPCTSTR、LPSTR

UNICODE:它是用两个字节表示一个字符的方法。比如字符A在ASCII下面是一个字符,可A在UNICODE下面是两个字符,高字符用0填充,而且汉字程在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。   MBCS,它是多字节字符集,它是不定长表示世界文字的编码。MBCS表示英文

2008-09-27 13:42:00 560

转载 GetBuffer and Release buffer

CString 的bug有一些[指针问题,],绝大多会犯这个东东,要细心运行结果才看出来,加深理解.VC,java等和C++思维要转一些.[补充]VC++ 7.0出来了.6.0有一些BUG.关于GetBuffer/ReleaseBuffer,网上比较流行的一种说法是:如果你要直接修改CString的内部数据,就要调用GetBuffer/ReleaseBuffer.我也同意这样的表述.下面是

2008-09-27 10:57:00 1018

转载 CString 解析

看了很多人写的程序,包括我自己写的一些代码,发现很大的一部分bug是关于MFC类中的CString的错误用法的.出现这种错误的原因主要是对CString的实现机制不是太了解。CString是对于原来标准c中字符串类型的一种的包装。因为,通过很长时间的编程,我们发现,很多程序的bug多和字符串有关,典型的有:缓冲溢出、内存泄漏等。而且这些bug都是致命的,会造成系统的瘫痪。因此c++里就专门的做

2008-09-27 10:27:00 929

转载 fatal error C1083(precompile head)

提示:Cannot open include file: stdafx.h : No such file or directory #include       "stdAfx.h "     放到另外#include的前面,也就是程序的最前面。使用预编译头文件需要把它放到程序最前面,否则它前面的内容会被忽略。 -----------------------------------------

2008-09-26 11:24:00 1516

转载 About WaitForMultipleObjects.

WaitForMultipleObjects是Windows中的一个功能非常强大的函数,几乎可以等待Windows中的所有的内核对象(关于该函数的描述和例子见MSDN,)。但同时该函数在用法上却需要一定的技巧. 原型:DWORD WaitForMultipleObjects( DWORD nCount, const HANDLE* lpHandles, BOOL bWaitAll,

2008-09-26 11:12:00 762 2

原创 How to use GDI+?simle introduction about configure

GDI+是什么?GDI+ 是面向 C/C++ 程序员的基于类的应用程序编程接口 (API)。它使应用程序可以将图形和格式化文本同时用于视频显示和打印机。GDI+ 代表应用程序与设备驱动程序进行交互。GDI+ 还支持 64 位 Windows 操作系统。 建立一个MFC工程,将以下代码放到stdafx.h中#pragma comment(lib, "gdiplus.lib")  //

2008-09-26 10:39:00 691

原创 The difference between SendMessage and PostMessage

1、首先是返回值意义的区别,我们先看一下 MSDN 里的声明: LRESULT SendMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); BOOL PostMessage( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam ); 其中 4 个参数的意义是一样的,返回值类型不同

2008-09-26 10:24:00 556

原创 The use method of afxDump and TRACE

 #ifdef_DEBUGafxDumpmyPerson->Dump(afxDump);afxDump#endif1)TRACE();/TRACE0();/TRACE1();/TRACE2();/TRACE3();:其用法和C中的printf()函数类似;TRACEn()和TRACE()的区别是前者使用的资源较少,前者中n表示所带参数的个数。使得TRACE可用:Tools-MFCTrace

2008-09-25 15:06:00 807

原创 NEAR and FAR pointer

(1) 近指针(near):近指针为16位指针,它只含有地址的偏移量部分。近指针用于不超过64K  字节的单个数据段或代码段。在微、小和中编译模式下产生的数据指针是近指针(缺省状态);在微、小和中编译模式下产生的码指针(指向函数的指针)是近指针(缺省状态)。  (2)远指针(far)   远指针为32位指针,指针的段地址和偏移量都在指针内。可用于任意编译模式。每次使用远指针时都要重装段

2008-09-25 15:03:00 950

转载 pragma comment的使用

该宏放置一个注释到对象文件或者可执行文件。#pragma comment( comment-type [,"commentstring"] )comment-type是一个预定义的标识符,指定注释的类型,应该是compiler,exestr,lib,linker之一。commentstring是一个提供为comment-type提供附加信息的字符串,Remarks:1、compiler:放置编

2008-09-25 13:20:00 608

转载 QA:请问TCHAR,CHAR,LPSTR,LPCSTR,char这几个数据类型有何不同,该如何使用?

         char是C语言标准数据类型,字符型,至于由几个字节组成通常由编译器决定,一般一个字节。         Windows为了消除各编译器的差别,重新定义了一些数据类型,你提到了另外几个类型都是这样。CHAR为单字节字符。还有个WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。如果当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR,如果为Unic

2008-09-24 17:58:00 474

原创 About _T("xxxxxx")

1/C++语言中“_T”是什么意思?Visual C++里边定义字符串的时候,用_T来保证兼容性,VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。 如果将来你不打算升级到unicode,那么也不需要_T,---------------------------------------------------

2008-09-24 17:50:00 5706

转载 MFC文档/视图架构之相互关系解析

1、模板、文档、视图、框架的关系  连载1~5我们各个击破地讲解了文档、文档模板、视图和框架类,连载1已经强调这些类有着亲密的内部联系,总结1~5我们可以概括其联系为:  (1)文档保留该文档的视图列表和指向创建该文档的文档模板的指针;文档至少有一个相关联的视图,而视图只能与一个文档相关联。  (2)视图保留指向其文档的指针,并被包含在其父框架窗口中;  (3)文档框架窗口(即包含视图的MDI子窗

2008-09-24 14:38:00 544

空空如也

空空如也

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

TA关注的人

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