- 博客(14)
- 收藏
- 关注
原创 自己写了一段assert的实现
#include stdio.h> #define ASSERT(exper) if(!(exper)) printf("assert: " #exper " file = %s, LINE = %d",__FILE__,__LINE__);void main() ...{ int *a = 0; ASSERT(a != 0); printf("test"); r
2008-05-24 21:30:00
645
原创 两个必须包含的头文件要检查一个同名的预处理器常量
最近看C++ primer关于#ifndef防止头文件的重复处理有这么一句话,"只要不存在两个必须包含的头文件要检查一个同名的预处理器常量这样的情形这个策略就能够很好地运作 ",比较不理解,特列两个例子. /**//* test1.h */#ifndef TEST1_H#define TEST1_H#includeiostream>using namespace std;#defi
2006-08-08 13:32:00
1579
转载 五大内存分区
五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,
2006-04-28 15:28:00
1128
原创 控件数组的操作技巧[ZZ]
控件数组有在设计时设置好的,也有在运行中创建的。控件数组一方面使得程序简洁、令代码易于维护,另一方面能使程序具有灵活性。可见,科学地利用控件数组可使编程工作的效率更高。本文是从笔者回答网友的问题中整理出来的,与原来的回答相比略有改动。希望这些"技巧"对大家有些帮助。如有不妥之处,敬请指教。一、运行中设置数组控件的属性设窗体上有若干个以 Command1 命名的命令按钮,现要求:点击其中一个按
2005-11-11 11:37:00
1270
原创 怎样在窗体上点鼠标右键产生一个弹出式选单(PopUp Menu)(VB中)
在VB中通用的方法如下:上述功能,需分两个步骤: 1. 利用VB的选单编辑器(Menu Editor)编辑你希望弹出的选单及子选单(PoPMenu),注意,要将选单的Visible属性设置为:False。 2. 在窗体(Form1)的MouseDown事件中编写程序,来激发编辑好的选单,假设选单名为PopMenu,程序源码如下: VB/VB.NET 代码 Private Sub Form-Mou
2005-11-10 17:16:00
14408
原创 sizeof的使用
sizeof- - sizeof的定义——sizeof的结果等于对象或者类型所占的内存字节数 关键字:sizeof,字节对齐,多继承,虚拟继承,成员函数指针前向声明:本来我对SIZEOF()只有一个小小的问题,通读此文,才发现它的博大精深,在此感谢lostinmymind!我把它贴在这里,和朋友们共享
2005-11-10 13:41:00
5140
1
原创 关于stdafx.h的作用[ZZ]
关于stdafx.h的作用:Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。 为避免这种浪费,AppWizard和Visual C++编译程序一起进行工作,如下所示: AppWizard建立了文件stdafx
2005-11-09 13:57:00
1279
原创 关于VB中的commondialog(打开文件,存储文件,打开打印机操作控件)
利用commondialog可以进行文件的打开与存储.commondialog.showsave表示存储,并可设置存储类型, .DialogTitle = "生成Excel" .FileName = "*.xls" .Filter = "(Excel)*.xls|*.xls"对于保存操作中的取消按键的操作如下: On Erro
2005-11-07 10:38:00
6126
原创 VB中关于statusbar状态条随FORM变化的问题,以及如何设置toolbar
1.在Form的Resize()方法中添加代码即可实现状态条随FORM变化Private Sub MDIForm_Resize() Me.StatusBar1.Panels(1).Width = Me.Width / 3 Me.StatusBar1.Panels(2).Width = Me.Width / 3 Me.StatusBar1.Panels(3).Width = Me.
2005-11-05 22:17:00
3068
原创 C++面向对象的一些概念
对象的封装、继承、多态性(1)封装 封装的思想是指良好定义的类应对外部世界隐藏实现细节。 类提供给外界一个接口,这个接口用来标明对象之间相互交互时所用的协议。一个类所支持的方法的集合就是该类的接口。封装则意味着以某种方式实现一个对旬,但是却不影响到类的接口。(2)继承 继承使类能够模拟对象之间的关系,其中一个类是另一个类的特殊化形式。继承是一种传递关系,在实际的对象继承中,派生
2005-11-03 11:24:00
2941
原创 一个最简单的com组件的例子(C++)
一个最简单的com组件的例子:)定义了两个纯抽象基类Ix,Iy来做为组件的接口,然后定义组件CA来继承这两个接口,做为CA的多接口实现,然后在一个客户端显示了对此组件多接口的调用。#include#includevoid trace1(const char* pMsg){cout//first interface;interface Ix{ virtual void _stdcall Fx1()=
2005-10-26 16:05:00
5753
原创 理解Windows消息机制[ZZ]
理解Windows消息机制Windows系统是一个消息驱动的OS,什么是消息呢?我很难说得清楚,也很难下一个定义(谁在嘘我),我下面从不同的几个方面讲解一下,希望大家看了后有一点了解。 1、消息的组成:一个消息由一个消息名称(UINT),和两个参数(WPARAM,LPARAM)。当用户进行了输入或是窗口的状态发生改变时系统都会发送消息到某一个窗口。例如当菜单转中之后会有WM_COMMAND消息发送
2005-10-25 14:48:00
1308
原创 用VC进行COM编程所必须掌握的理论知识[ZZ]
这篇文章是给初学者看的,尽量写得比较通俗易懂,并且尽量避免编程细节。完全是根据我自己的学习体会写的,其中若有技术上的错误之处,请大家多多指正。 一、为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的。结构化编程是函数块的形式,通过把一个软件划分成许多模块,每
2005-10-25 13:55:00
1797
3
转载 [转载]p2p通过middlebox进行通讯
我是一边看一边随手翻的,翻的很差,本来不好意思贴出来的,可能大家看原文更明白些。我的MSN:blovearcher@hotmail.comQQ: 27443675希望对大家有一些帮助,我的目的是希望能和有兴趣和正在做P2P的程序员们结交朋友,谢谢大家支持。1. 介绍今天的Internet的"middleboxes"已经普遍存在, 比如象网络地址转换(NAT),主要是因为IPv4的...
2005-09-21 14:02:00
885
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人