自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 设计模式

比设计模式更重要:GRASP设计模式介绍模式:每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这是关于模式最经典的定义,作者是建筑大师Christopher Alexander。如果是第一次看到这句话,多数人会觉得有些抽象难懂。其实“模式”两个字只是一个代号,就像我叫Justin,如果我改叫Tom也没什么问题,只是我更喜欢Justin这个名...

2012-07-09 15:08:00 111

转载 windows下查看80端口占用情况,适用于查看任何端口

windows下查看80端口占用情况,适用于查看任何端口九.21, 2008 in 技术 重做系统后,配置AMP环境。启动apache提示80端口busy被占用。于是查看一看80端口占用情况。开始–运行–cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管...

2010-08-14 17:29:00 357

转载 【转】Mac OS X系统快捷键一览表(中文)

附加说明:PC机上安装苹果(Mac OS X v10.5 Leopard)系统后,以Alt键代替Cmd键 要想尽快提高使用水平,需要众多的苹果电脑使用者的长期努力,从一点一滴做起。 全局Cmd-C 复制文件Cmd-V 粘贴文件Option-拖动 复制文件到新地址Cmd-拖动 移动并自动对齐Cmd-Delete 删除Cmd-Option-拖动 做替身(快捷方式)Cmd-Shift-De...

2010-03-30 16:28:00 158

转载 【转】mac键盘与pc键盘的对应关系

刚开始使用mac时,由于mac与常用键盘不太一样,导致使用的困难,现在将对应关系列出来,以方便大家使用。ALT - ⌘窗口 - ⌥CTRL - ⌃~ - `ESC - ⎋SHIFT - ⇧ 此键用于组合键时,只能与ALT、CTRL、窗口键一起进行组合,单独时只能与上下左右键进行组合。ENTER - ↩Command与Option相当于Ctrl和ATL, 但位置与pc上的位置相反。...

2010-03-30 16:25:00 150

转载 【转】字节对齐详解

一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类...

2010-03-24 14:34:00 42

转载 【转】sprintf函数用法

sprintf函数用法 原帖地址 : http://www.programfan.com/blog/article.asp?id=12763 在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比print...

2010-01-16 08:35:00 50

转载 【转】AddRef和Release的使用技巧

AddRef和Release实现的是一种名为引用计数的内存管理技术,这种技术是使组件能够自己将自己删除的最简单同时也是效率最高的方法。COM组件将维护一个称作是引用计数的数值。当客户虫组件取得一个接口时,此数值增1,当客户使用完某个接口后,此数值将减1。当此数值为0时,组件即可将自己从内存中删除。为正确的使用引用计数,需要了解一下三条规则:(1) 在返回之前调用AddRe...

2010-01-13 04:38:00 151

转载 【转】C++中虚析构函数的作用

C++中虚析构函数的作用 收藏 我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:代码 1 class ClxBase 2 { 3 public: 4 ClxBase() {}; 5 virtual ~ClxBase() {}; 6 7 ...

2010-01-12 04:48:00 52

转载 【转】DirectShow VC6.0 开发环境的搭建

今天要用DirectShow做一个音频采集程序,结果遇到的第一个问题便是开发环境的搭建,需要几步准备。1)下载支持DirectShow的SDK2)将SDK中的include和lib目录配置到VC6.0下(一般SDK在安装过程中会自己配置)3)编译SDK中samples中提供的项目,得到Strmbasd.lib winmm.lib库文件,这个要在新建的DirectShow工程中...

2010-01-04 05:01:00 100

转载 【转】AfxBeginThread和CreateThread具体区别

1. 具体说来,CreateThread这个 函数是windows提供给用户的 API函数,是SDK的标准形式,在使用的过程中要考虑到进程的同步与互斥的关系,进程间的同步互斥等一系列会导致操作系统死锁的因素,用起来比较繁琐一些,初学的人在用到的时候可能会产生不可预料的错误,建议多使用AfxBeginThread,是编译器对原来的CreateThread函数的封装,用与MFC编...

2010-01-04 00:48:00 150

转载 【转】嵌入式系统关键技术分析与开发应用

嵌入式系统关键技术分析与开发应用 来自http://www.chinavideo.org/index.php?option=com_content&task=view&sectionid=2&catid=25&id=251&Itemid=5 东南大学 夏玮玮 沈连丰 200...

2010-01-03 15:20:00 362

转载 多线程同步对象的比较

1. 互斥对象(Mutex)和事件对象(Even)都是内核对象,利用内核对象进行线程同步,速度较慢,但内核对象(Mutex、Even)可以为线程设置超时时间,以有效的解决线程死锁的问题。在多线程中可以在各个线程间进行同步(书上说的,不明白什么意思)。2.临界区(CriticalSection)工作在用户模式下,同步速度较快。但不能设置超时值,所以很容易进入线程死锁。3. M...

2010-01-03 00:49:00 106

转载 【转】GetTextMetrics与GetTextExtent的区别

GetTextMetrics与GetTextExtent的区别 收藏 GetTextMetrics:获取当前字体的信息GetTextExtent:获取特定的字符串在屏幕上所占的宽度和高度CDC::GetTextMetrics作用:返回当前设备描述表中的当前所用的字体的信息函数原型:BOOL GetTextMetrics( LPTEXTMETRIC lpM...

2010-01-02 22:52:00 84

转载 【转】VC6.0附带小工具软件一览

工欲善其事,毕先利其器。今吾将VC6.0下的工具小试一遍,略知其功用,以备不时之需。简略作以总结,欲与众人共飨之。VC6.0附带工具软件:(1)ActiveX Control Test Container称为“ActiveX 控件测试容器”,顾名思义,此工具的主要功能就是测试ActiveX 控件,可以通过改变ActiveX 控件的属性观察控件的变化,也可以通过调用ActiveX 控件的方...

2010-01-01 17:47:00 105

转载 【转】VC自带的工具SPY++使用

VC自带的工具SPY++使用2009-01-05 21:06VC自带的工具SPY++ 一直不会用,在网上找了一个篇文章,感觉比较好,拿来共享 呵呵用spy++查看消息,通过发送消息控制程序2007-01-11 21:42Windows程序都是基于消息机制的,每个程序中都会有各种各样的消息,如果想通过消息来...

2010-01-01 17:22:00 143

转载 【转】vc++编程经验总结

vc++如何实现远程调试 *假设调试机IP 192.168.0.182 远程机IP 192.168.0.161*远程机为调试机分配权限,使调试机可以使用远程桌面登陆到远程机器上(这样调试起来方便)。*调试机上安装visual studio .net 2003共享调试机上的Visual Studio上的远程调试目录(以我的机器为例)C:\Program Files\Microsof...

2010-01-01 16:28:00 123

转载 【转】在MFC中获取窗口句柄

要找到某个CWnd对象的HWND,用GetSafeHwnd()。在窗口类中,有句柄的成员变量,可以直接访问: m_hWnd 在窗口类外,可以用AfxGetMainWnd()->m_hWnd获得。在MainFrame里直接用this; 其它地方用 CMainFrame* pMainFrame = (CMainFrame...

2010-01-01 01:30:00 103

转载 【转】VC++常用数据类型使用转换详解

刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明inti=100;longl=2001;floatf=300.2;doubled=12345.119;charusername[]="程";chartemp[200];char*buf;CStringstr;_varia...

2009-12-31 19:37:00 116

转载 vc++中的相对路径说明

在#include“”包含文件时,使用相对路径名跟安全。如,假定现有绝对路径如下A:/B/C/D/E.txtA:/B/C/D/F.txtA:/B/C/D/G.txtD:/B/C/D/E.txt其中A是驱动器,假定#include所在文件为:A:/B/C/D/E.txt那么在#include中包含字符串“/”等同于包含“A:/”,即相对路径:"/"="A:/...

2009-12-31 18:28:00 419

转载 evc调试很慢的问题

在网上看到这方面的解释,说单核调试很快,可双核的机器,evc调试就很慢了,那在双核的机器上可以为模拟器进程指定运行在一个cpu核上,方法时::打开“任务管理器” -----》选择 模拟器的进程名点击右键,选择”关系设置“ ,只勾上一个CPU ,现在在次调试发现速度变快了很多.....转载于:https://www.cnblogs.com/sqzxcv/archive/200...

2009-12-29 20:59:00 116

转载 SDI执行路径

一.DeleteContent:一般在销毁文档之前调用此函数,他是销毁文档中的数据,并不是销毁CDocument对象。另外,它还用来保证在重新加载文档之前该文档为NULL,在关闭一个文档时负责删除数据。单文档应用程序中只存在一个CDocument对象。二.在单击‘File|New’时函数调用顺序:CWinApp::OnFileNew------>CDocManag...

2009-12-29 00:52:00 255

转载 【转】EVC学习过程中遇到的错误以及解决办法总结

EVC学习过程中遇到的错误以及解决办法总结 1.错误:Microsoft eMbedded Visual C++ has discovered no CE platform SDK installed on the desktop please install at least one CE platform SDK before launching Microsoft ...

2009-12-27 06:48:00 310

转载 【转】WinCE5.0开发环境的建立(出:http://blog.csdn.net/hejianbang/archive/2008/01/14/2043744.aspx)...

WinCE5.0开发环境的建立本文主要介绍WinCE5.0开发环境的建立过程及注意事项。 目前WinCE5.0的开发工具主要有以下几种:Platform Builder5.0、EVC4.0+SP4、Visual Studio2005。其中Platform Builder主要用于定制WinCE操作系统,它也可以用来编写驱动程序和应用程序。EVC顾名思义就是嵌入式版的VC,它...

2009-12-27 06:36:00 66

转载 指针使用经验总结

不断更新:1.悬垂指针如果将作用域A的变量地址赋给在作用域B的变量指针。当A中相应变量的生存周期结束后,会使B的指针出现“悬垂指针”的现象(悬垂指针指向曾经存放对象的内存,但该对象已经不再存在了。悬垂指针往往导致程序错误,而且很难检测出来。)如下代码:代码 #include<iostream>#include<windows.h>using...

2009-12-10 05:19:00 114

转载 【转】函数调用方式的区别[thiscall,__cdecl,__stdcall]

通常在使用VC进行函数定义时会指定该函数调用方式,诸如: int __stdcall max(int a, int b) { returna>b?a:b; } int __cdecl min(int a, int b) { returna<b?a:b; } bool __fastcall equal(int a, int b) {...

2009-12-09 23:06:00 88

转载 【转】ANSI,Unicode有什么区别

首先DBCS是亚洲的字符集,包含了ANSI,ANSI也就是ASCII值为0-255之间的字符,当字符为ANSI时,存放于文件中占用的是一个字节。如果是非ANSI的呢,则占用两字节。用VB的ASC函数可以很容易得到一个字符的DBCS值(或是说ANSI值吧)假如一个字符得到的DBCS值为&H1234,当然,这个值是转换成了十六进制的,因为对于磁盘存放来说,一般使用位(BIT),即二进...

2009-12-07 00:45:00 217

转载 【转】MSDN中关于OnDrawItem的说明

afx_msg void OnDrawItem( int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct );ParametersnIDCtl 存储发送WM_DRAWITEM 消息的控件ID,如果是菜单发送的,nIDCtl 的值为0。lpDrawItemStruct 一个指向DRAWITEMSTRUCT 结构体的...

2009-12-06 18:35:00 504

转载 【转】C++ 类相互依赖

当类A作为类B的成员变量或输入参数时或函数体调用了A类的具体方法,也就是B必须知道A的布局时,在B的头文件中要包含A的头文件; 当类A仅作为B类的成员指针并且类A的方法并不需要调用A类的任何方法,也就是不透明指针,只需要在B类声明class A,不需要包含A的头文件。 尽量避免相互嵌套包含,特别是在大型软件中,使用设计模式打破循环嵌套。转载于:https:...

2009-12-06 00:58:00 606

转载 【转】static和extern的区别;当使用另外一个文件中的变量、类、方法时,什么时候改用extern声明,什么时候该include?...

static和extern都被称为"global"变量(或者函数)。 但是他们的生存周期和可见性是不同。static是文件级, 只有程序文件之间显式的包含才可以引用(主要就是使用#include) 但是extern是程序级的,你不必显式的引用文件的,但需要使用extern 存储空间修饰符,这个任务编译器,链接器帮你完成了。 当使用另外一个文...

2009-12-05 21:44:00 214

转载 【转】头文件和源文件的关系

一、源文件如何根据#include来关联头文件 1,系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。 #include <xxx.h> 2,用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找,然后在到C++安装目录(比如VC中可以指定和修改库文件查找路径,Unix和Linux中可以通过环境变量来设定)中查找,最后在系统文件中查找。 #include...

2009-12-05 05:16:00 504

转载 【转】C++标准编程:虚函数与内联

[这是发表在C++ Report杂志栏目最后一部分的文章。因为当这篇文章正准备发表在这本杂志上的时候,它停办了。Jose Lajoie和Stan Lippman特别允许我们将这篇文章发表在CUJ网站上。--mb]我们曾经在讨论C++的时候,经常会问到:“虚函数能被声明为内联吗?”现在,我们几乎听不到这个问题了。现在听到的是:“你不应该使print成为内联的。声明一个虚函数为内联...

2009-12-05 03:53:00 94

转载 C++类成员和数据成员初始化总结

C++为类中提供类成员的初始化列表类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员2.进入构造函数后在构造函数中执行一般计算 1.类里面的任何成员变量在定义时是不能初始化的。 2.一般的数据成员可以在构造函数中初始化。 3.const数据成员必须在构造函数的初始化列表中初始化。 4.static要在类的定义外面初始化。 5.数组成员是不...

2009-12-02 23:59:00 257

转载 【转】C/C++的变量存储问题

一.首先, 在c中分为这几个存储区 1.栈 - 由编译器自动分配释放 2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放 4.专门放字符串常量的地方。- 程序结束释放 5 程序代码区,存放2进...

2009-12-02 19:03:00 112

转载 【转】内存泄露 的解释

简介  在计算机科学中,内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。内存泄漏与许多其他问题有着相似的症状,并且通常情况下只能由那些可以获得程序源代码的程序员才可以分析出来。然而,有不少人习惯于把任何不需要的内存使用的增加描述为内存泄漏,即使严格意...

2009-12-02 18:31:00 585

转载 【转载】MFC数据类型(Data Type)

BOOL:Boolean值(布尔值,不是TRUE就是FALSE)BSTR:32-bit字符指针BYTE:8-bit整数,未带正负号COLORREF:32-bit数值,代表一个颜色值DWORD:32-bit整数,未带正负号LONG:32-bit整数,带正负号LPARAM:32-bit数值,作为窗口函数或callback函数的一个参数LPCSTR:32-bit指针...

2009-11-30 23:59:00 96

转载 CDialog中的执行路径

基于对话框的应用程序与基于SDI和MDI的程序,在程序执行路径上有所不同。对话框的执行路径是:1.刚开始都是差不多的:_tWinMain——>AfxWinMain——>theApp.InitInstance()2.接下来有所不同:theApp.InitInstance()——>int nResponse = dlg.DoModal()(注意不是SDI和MDI中的...

2009-11-30 21:50:00 146

转载 C++ 中int,char,string,CString类型转换(一)

1. c++中string到int的转换1) 在C标准库里面,使用atoi:#include <cstdlib> #include <string>std::string text = "152"; int number = std::atoi( text.c_str() ); if (errno == ERANGE) //可能是std::e...

2009-11-30 03:05:00 98

转载 C++ 技术术语积累

不断更新:数据对齐,见:http://book.csdn.net/bookfiles/827/10082724877.shtml#_ftn10字节对齐,说明见:http://blog.csdn.net/zzffly9/archive/2007/10/26/1844421.aspxdynamic_cast可以用于类之间的交叉转换,说明如下:dynamic_cast还支持交叉...

2009-11-30 00:45:00 54

转载 第4至6课笔记

1.Load***()函数一般用于加载资源  MFC中的类都是C***,如Cwnd,CPen,C表示Class。2.路径层的最用....  BeginPath,EndPath,SelectClipPath()5 DrawText可以实现文字变色的效果6.定时器:  使用使用标示符进行表示.  SetTimer();启动定时器,  KillTim...

2009-11-29 02:17:00 107

转载 关于GetDC与GetWindowDC 的区别

GetDc函数:用于获得hWnd参数所指定窗口的客户区域的一个设备环境。所获得的设备环境可以是通用、类或者私有类型,具体由指定窗口的类风格决定。对于通用设备环境,GetDc函数每次获取一个设备环境时都会用默认属性对它进行初始化。该函数获得的类和私有设备环境会与它们最后一次的设置保持一致。当设备环境不再需要时,应该调用ReleaseDC函数将其释放。GetWindowDC...

2009-11-29 01:30:00 611

空空如也

空空如也

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

TA关注的人

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