2011年9月7日

ATL字符串转换宏(转)

摘要: 有比MultiByteToWideChar和WideCharToMultiByte更简单的字符串转换宏,你相信吗?头文件d:\program files\microsoft visual studio 8\vc\atlmfc\include\atlconv.h如果要使用ATL字符串转换宏,请先定义USES_CONVERSION; // 只需要调用一次,就可以在函数中进行多次转换下面一个例子: USES_CONVERSION;// 只需要调用一次,就可以在函数中进行多次转换 char a[12] = "china"; ::MessageBoxW( NULL, A2W(a), 阅读全文

posted @ 2011-09-07 12:06 zhanglei in tokyo 阅读(476) 评论(0) 推荐(0) 编辑

C# 插件式程序开发(转)

摘要: 转自:http://kb.cnblogs.com/page/104235/作者:杨盛超在网上找了下插件式编程的资料,这里自己先借鉴下别人的,同时发现有自己的看法,不过由于本人水平有限,不一定有参考价值,写出来一方面是为了总结自己,以求提高,另一方面也希望各为朋友看到我的不足,给我提出宝贵意见。 什么是插件式编程 提起插件式,我们首先想到的是firefox, 用过firefox的人都知道它是一个插件式程序。当一个功能需要,完全可以从网上下载一个插件后,重启后,就能使用。这个功能给我们带来许多的方便之处,这就是插件式程序的好处。 插件的本质在于不修改程序主体(平台)的情况下对软件功能进行拓展... 阅读全文

posted @ 2011-09-07 11:53 zhanglei in tokyo 阅读(263) 评论(0) 推荐(0) 编辑

图文并茂 简单 ATL COM开发(转)

摘要: 转自http://www.cnblogs.com/xiaokang088/archive/2011/05/16/2047376.html1.打开vs2010,新建ATL COM 项目,如下图12.勾选 【支持COM+ 1.0】和【支持部件注册器】3 添加了一个com项目,在项目名称上点击右键,添加类,如下图然后打开如下窗口,选择ATL简单对象即可。然后是如下窗口,在简称一栏中输入类名称FirstClass,其他输入框会自动填写,然后点击完成即可。如果出现提示【是否覆盖现有文件】,点击【是】即可。4.切换到类视图(视图->类视图),选中刚才添加的接口IFirstClass,如下,然后右键单 阅读全文

posted @ 2011-09-07 11:48 zhanglei in tokyo 阅读(319) 评论(0) 推荐(0) 编辑

BMP位图结构与操作(转)

摘要: CSDN里面,大家经常问起有关BMP位图的相关操作问题,我在此贴一篇我收集的文章,向大家透彻讲解一下BMP位图的结构以及在VC下的具体操作,希望对初学者有所帮助!:)----用普通方法显示BMP位图,占内存大,速度慢,在图形缩小时,失真严重,在低颜色位数的设备上显示高颜色位数的图形图形时失真大。本文采用视频函数显示BMP位图,可以消除以上的缺点。----一、BMP文件结构----1.BMP文件组成----BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。----2.BMP文件头----BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。----其结构定义如下:t 阅读全文

posted @ 2011-09-07 11:46 zhanglei in tokyo 阅读(626) 评论(0) 推荐(0) 编辑

VC++中使用内存映射文件处理大文件(转)

摘要: 源自/blog.csdn.net/yangling18/archive/2005/12/05/543699.aspx引言 文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC提供的CFile类等。一般来说,以上这些函数可以满足大多数场合的要求,但是对于某些特殊应用领域所需要的动辄几十GB、几百GB、乃至几TB的海量存储,再以通常的文件处理方法进行处理显然是行不通的。目前,对于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的,本文下面将. 阅读全文

posted @ 2011-09-07 11:46 zhanglei in tokyo 阅读(318) 评论(0) 推荐(0) 编辑

堆和栈的区别 (转贴)

摘要: 因非常经典,所以收藏!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后有系统释放4、文字常量区—常 阅读全文

posted @ 2011-09-07 11:45 zhanglei in tokyo 阅读(103) 评论(0) 推荐(0) 编辑

C++中Static的完全解析(转)

摘要: C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下://Example 1#include <iostream.h>void fn();static int n; //定义静态全局变量void main(){n=20;cout<<n<<endl;fn();}void fn(){n+ 阅读全文

posted @ 2011-09-07 11:43 zhanglei in tokyo 阅读(189) 评论(0) 推荐(0) 编辑

c/c++_static变量的应用

摘要: 在C语言编程中,static的一个作用是信息屏蔽!比方说,你自己定义了一个文件--该文件中有一系列的函数以及变量的声明和定义!你希望该文件中的一些函数和变量只能被该文件中的函数使用,那么,你可以在该函数、变量的前面加上static,代表他们只能被当前文件中的函数使用!而在C++中,用static来作为信息屏蔽就显得没有必要了!因为,C++有了信息屏蔽的利器--class机制!类中的private属性的变量和函数就对外禁止访问!然后是C/C++通用的函数作用域的static型的变量!其目的,也是为了信息的屏蔽!intfun(){staticinta=1;a++;}在第一次进入这个函数的时候,变量 阅读全文

posted @ 2011-09-07 11:42 zhanglei in tokyo 阅读(357) 评论(0) 推荐(0) 编辑

_stdcall和_cdec区别(转)

摘要: (1) _stdcall调用_stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈。WIN32 Api都采用_stdcall调用方式,这样的宏定义说明了问题: #define WINAPI _stdcall 按C编译方式,_stdcall调用约定在输出函数名前面加下划线,后面加“@”符号和参数的字节数,形如_functionname@number。(2) _cdecl调用_cdecl是C/C++的缺省调用方式,参数采用从右到左的压栈方式,传送参数的内存栈由调用者维护。_cedcl约定的函数只能被C/C++调用,每一个调用它的函数都包含清空.. 阅读全文

posted @ 2011-09-07 11:41 zhanglei in tokyo 阅读(415) 评论(0) 推荐(0) 编辑

c/c++_static变量的应用

摘要: 在C语言编程中,static的一个作用是信息屏蔽!比方说,你自己定义了一个文件--该文件中有一系列的函数以及变量的声明和定义!你希望该文件中的一些函数和变量只能被该文件中的函数使用,那么,你可以在该函数、变量的前面加上static,代表他们只能被当前文件中的函数使用!而在C++中,用static来作为信息屏蔽就显得没有必要了!因为,C++有了信息屏蔽的利器--class机制!类中的private属性的变量和函数就对外禁止访问!然后是C/C++通用的函数作用域的static型的变量!其目的,也是为了信息的屏蔽!intfun(){staticinta=1;a++;}在第一次进入这个函数的时候,变量 阅读全文

posted @ 2011-09-07 09:44 zhanglei in tokyo 阅读(134) 评论(0) 推荐(0) 编辑

C++中Static的完全解析

摘要: C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下://Example 1#include <iostream.h>void fn();static int n; //定义静态全局变量void main(){n=20;cout<<n<<endl;fn();}void fn(){n+ 阅读全文

posted @ 2011-09-07 09:35 zhanglei in tokyo 阅读(196) 评论(0) 推荐(0) 编辑

堆和栈的区别 (转贴)

摘要: 因非常经典,所以收藏!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后有系统释放4、文字常量区—常 阅读全文

posted @ 2011-09-07 09:34 zhanglei in tokyo 阅读(112) 评论(0) 推荐(0) 编辑

导航