自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 转载:宏定义的极致发挥---让你的普通C++类轻松支持IDispatch自动化接口

这篇文章其实有两个主题:一个是充分利用宏的特性把代码最大程度简化;另一个是如何在现有的项目中添加自动化支持。要我说哪一个主题更重要,对不起我也不知道,因为两个主题是紧密关联的,后面的介绍将以宏的使用为主,自动化接口只是宏的一种应用。 熟悉MFC和ATL/WTL的人一定都很熟悉它们的消息映射表,利用宏进行填表是一种非常简洁非常优雅的编码方式,通俗易懂维护方便。对于宏来说,使用越...

2010-05-25 12:08:00 90

转载 Windows批处理

如果在网上搜索可以找“Windows 批处理 命令”或者“Windows bat” 由于最近的项目用到批处理,所以转载一篇bat 语法 命令的文章,权当备份,省略了若干不关键字句 原文地址在这里: http://www.boofee.net/bigfee/read.php?94 如何创建批处理文件? 不要听了批处理文件就感到很神气,其实这东西很简单的.你...

2010-05-25 12:07:00 250

转载 转载:用API OleLoadPicture通过IStream来加载JPG、GIF格式的图片

OleLoadPicture 函数实际上创建了一个IPicture类型的COM接口对象,然后我们可以通过这个COM接口来操作图片(实际上你也可以用API OleCreatePictureIndirect来加载图片,不过相比而言OleLoadPicture函数简化了基于流的IPicture对象的创建),下面是示例代码:(注:由于只是用来示例,代码中省去了出错情况的处理) vo...

2010-01-25 17:43:00 95

转载 转载:便利的开发工具 CppUnit 快速使用指南

2003 年 8 月 03 日 本文从开发人员的角度,介绍 CppUnit 框架,希望能够使开发人员用最少的代价尽快掌握这种技术。下面从基本原理,CppUnit 原理,手动使用步骤,通常使用步骤,其他实际问题等方面进行讨论。以下讨论基于 CppUnit1.8.0。 背景 CppUnit 是个基于 LGPL 的开源项目,最初版本移植自 JUnit,是一个非常优秀...

2010-01-22 09:50:00 68

转载 【转】Win32下两种用于C++的线程同步类(下)

Win32 c++ 线程同步 上一篇中我介绍了一种通过封闭Critical Section对象而方便的使用互斥锁的方式,文中所有的例子是两个线程对同一数据一读一写,因此需要让它们在这里互斥,不能同时访问。而在实际情况中可能会有更复杂的情况出现,就是多个线程访问同一数据,一部分是读,一部分是写。我们知道只有读-写或写-写同时进行时可能会出现问题,而读-读则可以同时进行,...

2010-01-12 23:06:00 76

转载 [转]Win32环境下两种用于C++的线程同步类(上)

注: 开发者在线 Builder.com.cn 更新时间:2007-12-23作者:songthin 来源: CSDN 本文关键词: 线程同步类 c++ Win32 线程同步是多线程程序设计的核心内容,它的目的是正确处理多线程并发时的各种问题,例如线程的等待、多个线程访问同一数据时的互斥,防死锁等。Win32提供多种内核对象和手段用于线程同步,如互斥量、信号量、事件、临界区等。所不...

2010-01-12 22:59:00 55

转载 存储过程实现:Split字符串获得数组的数据集合

问题提出:在存储过程中如何将字符串:"A,B"和"12,23"中的字符按照","分割出来,并转换成数据集。解决方法:CREATE PROCEDURE [dbo].[SplitNamesAndLevels]@Names nvarchar(max),@Levels nvarchar(max),@Tag nvarchar(32) --分割符asbegindeclare @Table tabl...

2009-10-14 14:59:00 173

转载 小记:正确使用游标

declare @Id intdeclare item_cursor cursor local forSELECT A.IdFROMA open item_cursorFETCH NEXT FROM item_cursor INTO @Idwhile @@FETCH_STATUS = 0begin ...................

2009-10-14 14:52:00 56

转载 Declare 临时表

最近在写存储过程时遇到在存储过程中创建临时表的问题。以下是网上大侠们对临时表的总结。转自:http://it.hexun.com/2008-07-08/107274086.html;http://blog.163.com/zhengweisincere/blog/static/498446492009625749522/表变量 变量都以...

2009-10-14 14:37:00 144

转载 [转] 浅析.NET中的Serialization

Serialization的概念 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1403819Serialization是.NET中一种实现对象持久性(Persistent)的机制。它是一个将对象中的数据转换成一个单一元素(通常是Stream)的过程。它的逆过程是Deserialization。Serialization...

2009-08-15 15:55:00 48

转载 5、始终为自定义的类或结构提供ToString()

ToString()方法:是获取对象的字符串表示的一种便捷方式。为了方便用户,我们应该给自定义类重写ToString()函数,使ToString()的返回值更加贴近类对象的意义。如果不重写ToString()函数会怎样?众所周知,在.net环境下,所有的类都继承自System.Object类,如果不重写ToString()函数,自然会调用Object类的ToString()函...

2009-08-12 22:10:00 94

转载 4、尽量使用条件属性(Conditional Attribute)而不是#if/#endif预处理

对于这条规则我们一般关心得比较少,只有在系统调试时用得比较多。在讲这条规则之前让我们来了解下“什么是条件属性”。 对于.net初学者,当第一次遇到函数上面加一对“[]”中括弧时,一定觉得很陌生。如下所示: [assembly: AssemblyTitle("dd")] .net框架提供了一个特性:属性(Attribute),注意:此属性非彼属性(proper...

2009-08-10 22:01:00 149

转载 3、尽量采用as操作符而不是旧式C风格做强制类型转换

C#是一种强数据类型语言。(一种总是强制类型定义的语言。如果你有一个整数,如果不显示地进行转换,你不能将其视为一个字符串。)好的编程习惯提醒我们要尽量避免使用强制转换,但是有的时候我们是无法避免的。 强制转换适用情况:源变量和目标变量兼容。即使这样也存在数据丢失的风险,因为目标变量的类型大小比源变量小或者目标变量是源变量的一个基类。 在c#里,你有两种方法来实现强制转化: A、采用...

2009-08-07 20:35:00 89

转载 2、创建常量时尽可能使用readonly,而不是const

const float _pi = 3.1415926f; readonly float _r = 20.23; Const常量是编译时常量,也就是说当CLR编译器将const常量编译成中间语言IL(Intermediate Language )语言时,IL直接用const常量的值来替代了程序中对该常量的引用。 编译时常量的优缺点: 优点:效率高 缺点:可扩...

2009-08-06 18:51:00 111

转载 1、尽可能使用属性(Property),少使用字段(Field)实现对数据的访问

1、property本质上是两个函数set和get,在访问数据时可以对数据进行检查和操作,而field不支持;a、property实现安全检测在对数据进行检测时,当数据不符合条件时,最好以抛异常的形式来处理,不要给数据设置默认值。如下例所示。当给Name赋空值时,如果给_name数据设置默认值NoName,这是相当危险的。试想我们现在有两个...

2009-08-05 19:28:00 119

空空如也

空空如也

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

TA关注的人

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