自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

mood8125的专栏

倩何人,唤取红巾翠袖,抆英雄泪......C/C++,闲侃技术,人生群号:28470955

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

原创 BeginPaint和GetDC有什么区别?

      1, 为什么WINDOWS要提出无效区域的概念呢?这是为了加速。因为BeginPaint和EndPaint用到的设备描述符只会在当前的无效区域内绘画,在有效区域内的绘画会自动被过滤,大家都知道,WIN GDI的绘画速度是比较慢的,所以能节省一个象素就节省一个,不用吝啬,这样可以有效加快绘画速度。       可见BeginPaint、EndPaint是比较“被动”的,只在窗口新建时和被

2008-02-27 18:24:00 1194

转载 堆和栈的区别

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

2006-12-12 18:54:00 936 1

转载 进程间通信的方法

进程间通信有以下方法Using named objects Waiting for multiple objects Waiting in a message loop Using mutex objects Using semaphore objects Using event objects Using critical section objects Using timer queues U

2006-12-12 18:52:00 1373

转载 Virtual memory management

Virtual memory managementVirtual Memory Manager (VMM) Overview The Virtual Memory Manager (VMM) provides the virtual memory facilities that are used by the other parts of the system to implement t

2006-12-12 18:50:00 1718

转载 Windows下的HEAP溢出及其利用

Windows下的HEAP溢出及其利用 一、概述 前一段时间ASP的溢出闹的沸沸扬扬,这个漏洞并不是普通的堆栈溢出,而是发生在HEAP中的溢出,这使大家重新认识到了Windows下的HEAP溢出的可利用性。其实WIN下的HEAP溢出比Linux和SOLARIS下面的还要简单得多,大家肯定已经都搞明白了,我来做是一个总结,以免自己将来忘了。由于缺乏这方面的资料及源代码,所有的分析结果都来自于反汇编和

2006-12-12 18:47:00 1211

转载 结构化设计的救命稻草-回调机制(callback回调函数)

摘要:开发模式的确立是软件开发过程中不可缺少的一部分,就目前来说,面向过程和面向对象是两种主要的设计方法,虽然面向对象OOP是比较流行的字眼,但不表示面向过程就一定好无作为,毕竟面向过程设计方法也有适合其应用的软件系统:以功能操作为主,扩展性要求不高,无需过多考虑复用以及软件的通用性能。那是不是面向过程的设计方法对于诸如系统框架扩展问题就丝毫没有办法了呢?按照面向过程的基本原则,划分系统功

2006-12-12 18:46:00 1412

转载 四个人的故事(看了,你终生决不后悔)

 请照主旨之顺序读:1》误会;2》钉子;3》且慢下手;4》宽大。1》误会:早年在美国阿拉斯加地方,有一对年轻人结婚,婚後生育,他的太太因难产而死,遗下一孩子。他忙生活,又忙於看家,因没有人帮忙看孩子,就训练一只狗,那狗聪明听话,能照顾小孩,咬著奶瓶喂奶给孩子喝,抚养孩子。有一天,主人出门去了,叫它照顾孩子。他到了别的乡村,因遇大雪,当日不能回来。第二天才赶回家,狗立即闻声出来迎接主人。他把房门

2006-12-12 18:40:00 667

转载 C++基本概念在编译器中的实现

对于C++对象模型,相信很多程序员都耳熟能详。 本文试图通过一个简单的例子演示一些C++基本概念在编译器中的实现,以期达到眼见为实的效果。   1、对象空间和虚函数  1.1 对象空间  在我们为对象分配一块空间时,例如:   CChild1 *pChild = new CChild1();  这块空间里放着什么东西?  在CChild1没有虚函数时,CChild1对象空间里依次放着其基类的非静态

2006-12-12 18:38:00 1836

转载 函数调用的区别__stdcall,__cdecl,__fastcall,thiscall,naked call

 左通过栈传递,被调用的函数在返回前清理传送参数的内存栈,但不同的是函数名的修饰部分(关于函数名的修饰部分在后面将详细说明)。 _stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。 2、C调用约定(即用__cdecl关键字说明)按从右至

2006-12-12 18:37:00 2204 1

转载 设计模式精解之——Bridge 模式

0 引言0.1 目的    本文档给出设计模式之——Bridge模式的简化诠释,并给出其C++实现。0.2 说明 Project Design Pattern Explanation(By K_Eckel)

2006-12-12 18:36:00 1044

转载 最小化文件之间的编译依赖

 你进入到你的程序中,并对一个类的实现进行了细微的改变。提醒你一下,不是类的接口,只是实现,仅仅是 private 的东西。然后你重建(rebuild)这个程序,预计这个任务应该只花费几秒钟。毕竟只有一个类被改变。你在 Build 上点击或者键入 make(或者其它等价行为),接着你被惊呆了,继而被郁闷,就像你突然意识到整个世界都被重新编译和连接!当这样的事情发生的时候,你不讨厌它吗?   问

2006-12-12 18:35:00 866

转载 C++资源之不完全导引

1,前言  无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程序设计语言之一”,人们常将“之一”去掉以表达自己对C++的敬畏。诚然,C++程序设计语言对于学习者的确有很多难以逾越的鸿沟,体系结构的庞大,应接不暇并不断扩充的特性……除此之外,参考资料之多与冗杂使它

2006-12-12 16:58:00 1168

转载 堆、栈及静态数据区详解

五大内存分区    在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。    栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。    堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,

2006-12-12 16:55:00 834

原创 在C++中各种变量常量的存储对比

在C++中各种变量/常量的存储对比:     变量位置     变量种类       可见性           存储位置        名字的连接         例子     --------          --------        ------             --------          ----------            ----     函数内部    

2006-12-12 16:54:00 896

转载 #pragma编译指令的使用

在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。      其格式一般为: #pragma  para      其中para为参数,下面来

2006-12-12 16:52:00 871

原创 编译的代价---数据类型消失了

作者 d.x.c引言:曾看过好几本编译原理方面的教材,窃以为,这些教材大都脱离实际。须知,大多数人学编译原理并不是为了自己去写一个编译器,而是为了更好的理解自己写的代码。这一点对底层开发和嵌入式开发者来说尤其重要。       本文仅讨论编译型静态语言。  一:编译器工作的基本过程。       语言,是一个很神奇的东西。至今世界上的专家们还不能开发出相当于10岁小孩智商的

2006-12-12 16:51:00 1187

转载 解析C++中的内部连接与外部连接

解析C++中的内部连接与外部连接        作者: ZQGet 出处: 论坛 责任编辑: 方舟 [ 2004-05-27 17:04 ]在说内部连接与外部连接前,先说明一些概念。   1.声明  一个声明将一个名称引入一个 作用域;  在c++中,在一个作用域中重复一个声明是合法的 以下都是声明:

2006-12-12 16:49:00 1337 1

转载 UML类图关系全面剖析

原文地址:http://blog.csdn.net/dylgsy/archive/2006/08/16/1076044.aspxUML的类图关系分为: 关联、聚合/组合、依赖、泛化(继承)。而其中关联又分为双向关联、单向关联、自身关联;下面就让我们一起来看看这些关系究竟是什么,以及它们的区别在哪里。1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。

2006-12-12 16:48:00 830

转载 windows下unicode编程总结

 UNICODE环境设置在安装Visual Studio时,在选择VC++时需要加入unicode选项,保证相关的库文件可以拷贝到system32下。  UNICODE编译设置:C/C++, Preprocessor difinitions 去除_MBCS,加_UNICODE,UNICODE在ProjectSetting/link/output 中设置Entry为wWinM

2006-12-12 16:44:00 768

原创 由GetDlgItem函数想到的

我们在调用CWnd::GetDlgItem()函数时,MSDN告诉我们:The returned pointer may be temporary and should not be stored for later use.中文意思就是:返回的指针可能是临时的并且最好不要保存起来放到以后用。猜测:返回的指针既然可能是临时的,那么可能是非临时的(永久的),最好不要保存起来放到以后用(有时候

2006-08-24 17:46:00 4212 2

原创 关于attach和detach的疑问

            attach是把一个C++对象与一个WINDOWS对象关联,直到用detach则把关联去掉。    如果attach了以后没有detach,则C++对象销毁的时候WINDOWS对象跟着一起完蛋。              attach了以后,C++对象的指针和WINDOWS对象的HWND会有一个映射关系,其作用相当于你直接用一个C++对象去Create一个WINDOWS对象

2006-08-24 17:43:00 2970

原创 如何从HDC建立一个CDC类?

如何从HDC建立一个CDC类? 有时Windows API将会给你一个DC句柄,你可以通过它建立一个CDC类。例如:下拉式列表、组合框和按钮。通过hDC你将接收到绘制消息。下面是将HDC转换成你更熟悉的CDC的程序段。你也可以将该技巧用在其他任何MFC类和Windows句柄的转换中。 void MyODList::DrawItem(LPDRAWITEMSTRUCT lpDrawItem){

2006-08-24 17:00:00 1124

转载 对软件过程改进的思考

前言本文的观点或许有些偏颇,其实我也承认很多西方的管理模式是非常优秀的,而且也确实取得了一些大的成就,可是为什么移植到我国后,就会发生许多质的变化呢。我们为什么老喜欢做一些面子上的工程,而不是实实际际的去做一些基本的工作,真正有意义的工作呢?在写这篇文章时,很多同学和网友都给了我很大的帮助,而且为了更好的阐述观点,本文在论述过程也引用了一些专家的观点和阐述,在这里先行谢过。同时也衷心希望我国的

2006-02-25 01:22:00 1043

转载 敏捷(agile)开发与极限编程(XP)(转载)

  在按照我的理解方式审查了软件开发的生命周期后,我得出一个结论:实际上满足工程设计标准的惟一软件文档,就是源代码清单。 -- Jack Reeves 简介  2001年,为了解决许多公司的软件团队陷入不断增长的过程泥潭,一批业界专家一起概括出了一些可以让软件开发团队具有快速工作、响应变化能力的价值观和原则,他们称自己为敏捷联盟。敏捷开发过程的方法很多,主要有:SCRUM,Crystal

2006-01-21 03:11:00 6416

空空如也

空空如也

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

TA关注的人

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