上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页

2007年3月19日

#define的用法

摘要: #define的用法1.简单的define定义#define MAXTIME 1000一个简单的MAXTIME就定义好了,它代表1000,如果在程序里面写if(i<MAXTIME){.........}编译器在处理这个代码之前会对MAXTIME进行处理替换为1000。这样的定义看起来类似于普通的常量定义CONST,但也有着不同,因为define的定义更像是简单的文本替换,而不是作为一个量来使... 阅读全文

posted @ 2007-03-19 16:57 路吾 阅读(2041) 评论(0) 推荐(0) 编辑

全局变量和局部变量在内存里的区别?

摘要: 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,... 阅读全文

posted @ 2007-03-19 14:32 路吾 阅读(661) 评论(0) 推荐(0) 编辑

堆和栈的理论知识

摘要: 3.1申请方式 stack: 由系统自动分配。 例如,声明在函数中一个局部变量 int b; 系统自动在栈中为b开辟空间 heap: 需要程序员自己申请,并指明大小,在c中malloc函数 如p1 = (char *)malloc(10); 在C++中用new运算符 如p2 = (char *)malloc(10); 但是注意p1、p2本身是在栈中的。 3.2 申请后系统的响应 栈:只要栈的剩余空... 阅读全文

posted @ 2007-03-19 14:30 路吾 阅读(338) 评论(0) 推荐(0) 编辑

2007年3月16日

TRACE 宏的利用

摘要: TRACE 宏的利用TRACE 宏有点象我们以前在C语言中用的Printf函数,使程序在运行过程中输出一些调试信息,使我们能了解程序的一些状态。但有一点不同的是:TRACE 宏只有在调试状态下才有所输出,而以前用的Printf 函数在任何情况下都有输出。和Printf 函数一样,TRACE函数可以接受多个参数如: int x = 1;int y = 16;float z = 32.0;TRACE(... 阅读全文

posted @ 2007-03-16 18:13 路吾 阅读(385) 评论(0) 推荐(0) 编辑

2006年12月7日

VARIANT 数据类型简单介绍

摘要: VIRIANT是ACTIVEX AUTOMATION需要用到的一种变量类型,可以称之为通用数据类型,其实它是一个结构。如果仅仅是调用ACTIVEX对象所提供的METHOD不需知道其中的细节。它仅用于通过IDISPATCH接口调用特定的METHOD或属性时用,VB和VC已经将这一过程透明。换句话说,VC会自动转换简单数据类型。 关于下面的几个METHOD,例如OPENURL,在MFC中是:CStdi... 阅读全文

posted @ 2006-12-07 13:11 路吾 阅读(1622) 评论(0) 推荐(0) 编辑

2006年11月30日

进程间通讯方法总结

摘要: 进程通常被定义为一个正在运行的程序的实例,它由两个部分组成:  一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方  另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于其它进程的内存则是隐藏的,... 阅读全文

posted @ 2006-11-30 17:42 路吾 阅读(977) 评论(1) 推荐(0) 编辑

MFC数据类型

摘要: 下面这些是和Win32程序共同使用的数据类型BOOL:布尔值,取值为TRUE or FALSEBSTR:32-bit 字符指针BYTE:8-bit整数,未带正负号COLORREF:32-bit数值,代表一个颜色值DWORD:32-bit整数,未带正负号LONG:32-bit整数,带正负号LPARAM:32-bit整数,作为窗口函数或callback函数的一个参数LPCSTR:32-bit指针,指向... 阅读全文

posted @ 2006-11-30 09:49 路吾 阅读(557) 评论(0) 推荐(0) 编辑

2006年11月24日

CString实现原理简单介绍

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

posted @ 2006-11-24 10:08 路吾 阅读(1004) 评论(1) 推荐(0) 编辑

2006年11月22日

CString 操作指南

摘要: 通过阅读本文你可以学习如何有效地使用 CString。  CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。  使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CString的完全手册,... 阅读全文

posted @ 2006-11-22 16:10 路吾 阅读(600) 评论(0) 推荐(0) 编辑

sprintf函数用法

摘要: 在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义如下:int sprintf( char *buffer, const char *format [, argum... 阅读全文

posted @ 2006-11-22 16:06 路吾 阅读(2002) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页

导航