- 博客(26)
- 收藏
- 关注
转载 B树、B-树、B+树、B*树都是什么
B树、B-树、B+树、B*树都是什么 B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜
2009-11-09 10:49:00
633
转载 C#运行时的泛型
C#运行时的泛型泛型类的编译方法与常规类的编译方法几乎没有差别。事实上,编译结果只不过是元数据和中间语言 (IL)。当然,为了接受代码中用户提供的类型,应对 IL 进行参数化。根据提供的类型参数是值类型还是引用类型,泛型的 IL 的用法会有所不同。当将值类型作为参数首次构造泛型时,运行时将使用提供的参数替换 IL 中的相应位置来创建一个专用的泛型。针对每个用作参数的唯一值类型,将一次性创建
2009-10-28 10:29:00
1136
转载 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
607
转载 GUI程序也能使用控制台窗口
很多时候,调试GUI程序是很不方便的,通常的做法是使用MessageBox,但是作为一个模态窗口,它经常产生不必要的消息,比如killfocus, setfocus或者paint,从而影响调试的执行过程。当然,使用vc的调试器也不错,但是这样也很容易造成窗口切换从而产生干扰消息。因此,如果能像在控制台程序里那样使用cin/cout对象或printf族函数,会使得调试过程方便得多。而通常,windo
2009-08-07 20:06:00
1007
转载 Windows对象、句柄与MFC对象
Windows对象是以句柄来标识的,对应的MFC类就是这些句柄的C++包装。内存中的Windows对象一定有唯一的句柄来标识,但不一定有对应的MFC类对象在内存中。当需要获取Windows对象的对应MFC类对象而内存中又没有此对象时,系统会创建一个临时MFC类对象返回给用户,并在之后某个空闲时刻进行回收。 Windows对象句柄及其对应的MFC类如下表所示:
2009-08-06 14:18:00
2117
转载 共享内存与线程局部存储
城里的人想出去,城外的人想进来。这是《围城》里的一句话,它可能比《围城》本身更加有名。我想这句话的前提是,要么住在城里,要么住在城外,二者只能居其一。否则想住在城里就可以住在城里,想住在城外就可以住在城外,你大可以选择单日住在城里,双日住在城外,也就没有心思去想出去还是进来了。 理想情况是即可以住在城里又可以住在城外,而不是走向极端。尽管像青蛙一样的两栖动物绝不会比人类更高级,但能适应于更多环境的
2009-08-05 13:33:00
805
转载 C语言宏的使用
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedef un
2009-08-03 13:31:00
469
转载 函数的调用规则(__cdecl,__stdcall,__fastcall,__pascal)
关于函数的调用规则(调用约定),大多数时候是不需要了解的,但是如果需要跨语言的编程,比如VC写的dll要delphi调用,则需要了解。 microsoft的vc默认的是__cdecl方式,而windows API则是__stdcall,如果用vc开发dll给其他语言用,则应该指定__stdcall方式。堆栈由谁清除这个很重要,如果是要写汇编函数给C调用,一定要小心堆栈的清除工
2009-07-29 22:25:00
494
转载 __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
548
转载 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
482
转载 GetWindowRect与GetClientRect(转)
先调用GetWindowRect后再调用ScreenToClient,这个时候得到的rect和直接使用GetClientRect得到的值是相等的。有时候需要获得窗口矩形的大小和客户区矩形的大小二者的值,故需要分别调用GetWindowRect和GetClientRect。如果只需要获得客户区矩形的大小,调用GetClientRect就行了。GetWindowRect和GetCl
2009-07-10 17:31:00
682
原创 ONERASEBKGND OnPaint OnDraw
ONERASEBKGND()是画背景的,先与OnPaint()运行OnPaint( )與OnDraw( )的區別: OnPaint()是消息響應函數,默認是WM_PAINT消息的入口. OnDraw()是虛函數,是被OnPaint( )調用的函數. OnPaint( )優先于OnDraw( ),如果重載了OnPaint( ),則不會響應OnDraw( ).如果需要,則需明確調用OnDraw(
2008-10-22 13:32:00
1411
原创 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
559
转载 The meaning of LPTSTR、LPCSTR、LPCTSTR、LPSTR
UNICODE:它是用两个字节表示一个字符的方法。比如字符A在ASCII下面是一个字符,可A在UNICODE下面是两个字符,高字符用0填充,而且汉字程在ASCII下面是两个字节,而在UNICODE下仍旧是两个字节。UNICODE的用处就是定长表示世界文字,据统计,用两个字节可以编码现存的所有文字而没有二义。 MBCS,它是多字节字符集,它是不定长表示世界文字的编码。MBCS表示英文
2008-09-27 13:42:00
601
转载 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
1072
转载 CString 解析
看了很多人写的程序,包括我自己写的一些代码,发现很大的一部分bug是关于MFC类中的CString的错误用法的.出现这种错误的原因主要是对CString的实现机制不是太了解。CString是对于原来标准c中字符串类型的一种的包装。因为,通过很长时间的编程,我们发现,很多程序的bug多和字符串有关,典型的有:缓冲溢出、内存泄漏等。而且这些bug都是致命的,会造成系统的瘫痪。因此c++里就专门的做
2008-09-27 10:27:00
1014
转载 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
1555
转载 About WaitForMultipleObjects.
WaitForMultipleObjects是Windows中的一个功能非常强大的函数,几乎可以等待Windows中的所有的内核对象(关于该函数的描述和例子见MSDN,)。但同时该函数在用法上却需要一定的技巧. 原型:DWORD WaitForMultipleObjects( DWORD nCount, const HANDLE* lpHandles, BOOL bWaitAll,
2008-09-26 11:12:00
815
1
原创 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
732
原创 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
594
原创 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
847
原创 NEAR and FAR pointer
(1) 近指针(near):近指针为16位指针,它只含有地址的偏移量部分。近指针用于不超过64K 字节的单个数据段或代码段。在微、小和中编译模式下产生的数据指针是近指针(缺省状态);在微、小和中编译模式下产生的码指针(指向函数的指针)是近指针(缺省状态)。 (2)远指针(far) 远指针为32位指针,指针的段地址和偏移量都在指针内。可用于任意编译模式。每次使用远指针时都要重装段
2008-09-25 15:03:00
1007
转载 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
666
转载 QA:请问TCHAR,CHAR,LPSTR,LPCSTR,char这几个数据类型有何不同,该如何使用?
char是C语言标准数据类型,字符型,至于由几个字节组成通常由编译器决定,一般一个字节。 Windows为了消除各编译器的差别,重新定义了一些数据类型,你提到了另外几个类型都是这样。CHAR为单字节字符。还有个WCHAR为Unicode字符,即不论中英文,每个字有两个字节组成。如果当前编译方式为ANSI(默认)方式,TCHAR等价于CHAR,如果为Unic
2008-09-24 17:58:00
507
原创 About _T("xxxxxx")
1/C++语言中“_T”是什么意思?Visual C++里边定义字符串的时候,用_T来保证兼容性,VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。 如果将来你不打算升级到unicode,那么也不需要_T,---------------------------------------------------
2008-09-24 17:50:00
5795
转载 MFC文档/视图架构之相互关系解析
1、模板、文档、视图、框架的关系 连载1~5我们各个击破地讲解了文档、文档模板、视图和框架类,连载1已经强调这些类有着亲密的内部联系,总结1~5我们可以概括其联系为: (1)文档保留该文档的视图列表和指向创建该文档的文档模板的指针;文档至少有一个相关联的视图,而视图只能与一个文档相关联。 (2)视图保留指向其文档的指针,并被包含在其父框架窗口中; (3)文档框架窗口(即包含视图的MDI子窗
2008-09-24 14:38:00
602
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人