LeiShi
码龄20年
关注
提问 私信
  • 博客:64,074
    64,074
    总访问量
  • 33
    原创
  • 2,154,032
    排名
  • 11
    粉丝
  • 0
    铁粉

个人简介:在期货证券行业中从事大型交易系统的设计和开发工作。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:辽宁省
  • 加入CSDN时间: 2005-05-26
博客简介:

Leizi专栏

博客描述:
               喜欢雨天,静静地聆听雨滴的声音
查看详细资料
  • 原力等级
    当前等级
    0
    当前总分
    0
    当月
    0
个人成就
  • 获得4次点赞
  • 内容获得9次评论
  • 获得2次收藏
创作历程
  • 2篇
    2011年
  • 8篇
    2010年
  • 2篇
    2008年
  • 3篇
    2007年
  • 25篇
    2006年
成就勋章
TA的专栏
  • C#
    4篇
  • C/C++
    12篇
  • Database
    2篇
  • Others
    9篇
  • Software Design
    2篇
  • UML
  • VC/MFC
    12篇
  • XML
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

关于VC中时间函数的讨论

先从一个如何在程序中延时的问题谈起,延时的方法有方法一:     使用sleep函数,它的最小单位是1ms,如延时2秒,用sleep(2000)方法二:     使用sleep函数的不利处在于期间不能处理其他的消息,如果时间太长,就好象死机
原创
发布博客 2011.08.02 ·
818 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

作为对象的函数指针

在STL算法中,只要用到函数对象的地方(也就是functor),都可以把函数指针作为对象来使用。这种特性不论是在思路上还是在理解functor的工作原理上都是很重要的。Functor提供了一种将函数指针传递到STL算法的途径。与以往不同的是这里函数指针可以是一个类,或者是支持函数
原创
发布博客 2011.08.02 ·
519 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C#调用DLL (strmagic)

  大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经存在的功能呢?答案是肯定的,大家可以通过C#中的DllImport直接调用这些功能。  DllImport所在的名字空间 using System.Runtime.InteropServices;  MSD
转载
发布博客 2010.01.14 ·
744 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C#调用DLL (初学者适用)

  每种编程语言调用DLL的方法都不尽相同,在此只对用C#调用DLL的方法进行介绍。首先,您需要了解什么是托管,什么是非托管。一般可以认为:非托管代码主要是基于win 32平台开发的DLL,activeX的组件,托管代码是基于.net平台开发的。如果您想深入了解托管与非托管的关系与区别,及它们的运行机制,请您自行查找资料,本文件在此不作讨论。 (一) 调用DLL中的非托管函数一般方法首
转载
发布博客 2010.01.14 ·
785 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C# ref与out区别

在C# 中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员更改参数的值,并保持该更改。若要通过引用传递参数, 可使用ref或out关键字。ref和out这两个关键字都能够提供相似的功效,其作用也很像C中的指针变量。它们的区别是:1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。 2、使用ref和out时,在方法的参数和执行方法时,
转载
发布博客 2010.01.12 ·
727 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C#-explicit 和 implicit 的含义

explicit 和 implicit 属于转换运算符,如用这两者可以让我们自定义的类型支持相互交换explicti 表示显式转换,如从 A -> B 必须进行强制类型转换(B = (B)A)implicit 表示隐式转换,如从 B -> A 只需直接赋值(A = B)隐式转换可以让我们的代码看上去更漂亮、更简洁易懂,所以最好多使用 implicit 运算符。不过!如果对象本身在转换时
转载
发布博客 2010.01.12 ·
861 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

业务分析的一些原则和方法

1.业务需求的描述框架2.业务域的划分原则3.系统边界与界面4.业务对象与业务流程5.子系统间接口识别(泳道图/垂直跨职能图)6.业务算法分析业务对象是业务流程产生或者处理的实体数据,业务对象一般都具有产生、使用、消亡的过程。这个过程的细节是由业务流程决定的。业务结构描述了每一个业务域的主要子功能域。业务流程指业务操作的时间顺序或者先后步骤。功能需求描述了各个业务域完成的主要业务职能。业务接口
原创
发布博客 2010.01.06 ·
1973 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

用auto_ptr类模板帮助动态内存管理

  动态内存使用最多的是在C++应用程序的代码中。有过编程经验的程序员虽然都知道new操作符的使用一定要与delete匹配,在某些场合仍然可能有内存溢出。当异常被掷出时,程序的正常控制流程被改变,因此导致潜在的内存溢出。例如, void g() //可能掷出{  if (some_condition == false)  throw X();}void func() {  string * pst
转载
发布博客 2010.01.06 ·
639 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

模板的声明与定义

通常,我们是在.h文件中声明函数和类,而将其定义放在单独的.cpp文件中。但在使用模板时,这样做就不行了,由于编译器在碰到某个模板的实例时,必须看到实际的模板定义,而不仅仅是声明。因此,最好是同时将模板的声明和定义都放在相同的.h文件中。因为这个缘故,所有STL头文件都包含模板的定义,而不仅仅只有模板声明。
原创
发布博客 2010.01.06 ·
1077 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

类模板与模板类

1.类模板,是想把数据类型从类中分离出来,成为一个类的描述最简单的类模板定义例如:template class 抽象类名{T ...//}  2.模板类是一些MFC自带的类库CSingleDocTemplate就是一种,本身是个抽象类,目的就是用来定义一些"Doc/Frame/View"的基础函数,用来协调三者行动和管理 3.RUNTIME_CLASS太多了,建议读读,
原创
发布博客 2010.01.06 ·
610 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MFC框架的创建过程

很久没有使用MFC了,以至于都忘记MFC框架复杂的窗口、文档、视的创建过程了。下面我们跟踪一个MFC MDI的应用程序,来温习或学习一下。 使用AppWizard创建一个MDI应用程序,我创建的应用程序叫MDITest,这样MFC生成了如下的类:类名 作用CMDITestApp 派生于CWinApp的应用程序类。CMainFrame 派生于CMDIFrameWnd的MDI框架窗口类。CMDITes
原创
发布博客 2008.12.16 ·
2308 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

内存泄露的原因

程序中的内存泄漏主要有:  1. 用new,malloc,GolbalAlloc等函数分配的堆内存没有用delete,free,GlobalFree等释放,这些内存在Debug时候都可以Dump出信息的,但只有new在Debug的时候会正确指出出错的行,因为在Debug版本中VC对new进行了重定义,建议大家分配内存时尽量使用new  2. 在绘图时创建的GDI对象没有释放,但如果你是使用MF
原创
发布博客 2008.12.05 ·
5093 阅读 ·
0 点赞 ·
1 评论 ·
5 收藏

AfxBeginThread与CreateThread的区别

  如果用MFC编程,不要用CreateThread,如果只是使用Runtime Library,用_BegingThread,总之,不要轻易使用CreateThread。这是因为在MFC和RTL中的函数有可能会用到些它们所封装的公用变量,也就是说AfxBeginThread和_BeginThread都有自己的启动代码是CreateThread所没有的。在用CreateThread所创建的线程中使
原创
发布博客 2007.04.19 ·
5550 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

ASSERT和VERSIFY

这里给大家一些提示:  ASSERT()里面的内容在Release版本中不编译。VERIFY()里面的内容仍然编译,但不再判断真假。所以,后者更安全一点。  例如:ASSERT(file.Open(strFileName));       一旦到了Release版本中,这一行就忽略了,file根本就不Open()了,而且没有任何出错信息。如果用VERIFY()就不会有这个问题。当然这不
原创
发布博客 2007.04.19 ·
1087 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

好久没更新这里了

  希望大家继续关注这里,我会继续和大家分享相关的技术经验,谢谢
原创
发布博客 2007.04.19 ·
1071 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

线程的基础知识

1. 进程与线程有那些区别和联系?      每个进程至少需要一个线程。      进程由两部分构成:进程内核对象,地址空间。线程也由两部分组成:线程内核对象,操作系统用它来对线程实施管理。线程堆栈,用于维护线程在执行代码时需要的所有函数参数和局部变量。      进程是不活泼的。进程从来不执行任何东西,它只是线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。      
原创
发布博客 2006.06.22 ·
1608 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

MFC中文档和视图的关系

1、应用程序对象有一个文档模板管理器CDocManager* m_pDocManager(第一次调用AddDocTemplate时new出来)2、文档模板管理器有一个文档模板对象列表CPtrList m_templateList(AddDocTemplate 函数负责添加该列表)3、文档模板对象拥有文档、视图、框架的静态CRuntimeClass成员指针用于动态创建,还有一个m_nIDRe
原创
发布博客 2006.06.13 ·
4546 阅读 ·
0 点赞 ·
1 评论 ·
8 收藏

好好学习

终于将前一个任务完成了,耗时进三个月。现在要抓紧时间把业务知识补上来。加油,加油!
原创
发布博客 2006.06.13 ·
1148 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

视图的三叉切分

1、在主框架中声明两个CSplitterWnd对象public:  CSplitterWnd m_wndSplitter1;  CSplitterWnd m_wndSplitter2;2、重载CMainFrame::OnCreateClient,左一右二方式切分BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext
原创
发布博客 2006.06.08 ·
1376 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

祝小东西生日快乐!

06-06-06这个日子是属于小东西的!祝生日快乐,天天开心!嘿嘿
原创
发布博客 2006.06.06 ·
1236 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多