自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (18)
  • 收藏
  • 关注

转载 最短路径算法—Dijkstra(迪杰斯特拉)算法分析与实现(C/C++)

<br />Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 <br />  Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。<br />其基本思想是,设置顶点集合S并不断地作贪心选择来扩充这个集合。一个顶点属于集合S当且仅当从源到该顶点的最短

2011-01-20 23:47:00 13843

转载 c++实现反射

链接:http://gdliuyidang.javaeye.com/blog/632077天生限制 <br />C++语言本身不支持反射机制,但C++对象总是要序列化的,序列化就是存储到磁盘上,将对象变成一定格式的二进制编码,然后要用的时候再将保存在磁盘上的二进制编码转化成一个内存中的对象,这个过程中总是需要有一个指示来告诉编译器要生成什么样的对象,最简单的方式当然就是类名了,例如:将一个ClassXXX对象存储到磁盘上,再从磁盘读取的时候让编译器根据“ClassXXX”名称来new一个对象。 <br />

2011-01-16 01:51:00 684

转载 细说UI线程和Windows消息队列

<br /><br />细说UI线程和Windows消息队列<br /> <br />注:<br /> <br />  由于本人对Windows底层机理了解不深,本文如有错误,敬请指正。<br /> <br />                                              金旭亮<br /> <br /> <br /> <br />================================================<br /> <br />   在Windows应用

2011-01-16 00:46:00 443

转载 vc++多线程编程

<br />链接:http://feihen.javaeye.com/blog/859545<br />多线程编程之一——问题提出<br /><br />一、问题的提出<br />编写一个耗时的单线程程序:<br />  新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下: <br />void CSingleThreadDlg::OnSl

2011-01-10 22:27:00 659

转载 RTTI运行时对象识别

<br />链接:http://sealbird.javaeye.com/blog/866864<br />作者:NorthTibet <br /><br /><br /><br />    RTTI 是“Runtime Type Information”的缩写,意思是:运行时类型信息。它提供了运行时确定对象类型的方法。本文将简略介绍 RTTI 的一些背景知识、描述 RTTI 的概念,并通过具体例子和代码介绍什么时候使用以及如何使用 RTTI;本文还将详细描述两个重要的 RTTI 运算符的使用方法,它们是

2011-01-10 22:16:00 345

转载 全面解析MFC应用程序中处理消息的顺序 (转)

<br /><br /> 1.AfxWndProc()      该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc <br />2.AfxCallWndProc()  该函数负责保存消息(保存的内容主要是消息标识符和消息参数)供应用程序以后使用,然后调用WindowProc()函数 <br />3.WindowProc()      该函数负责发送消息到OnWndMsg()函数,如果未被处理,则调用DefWindowProc()函数 <br />4.OnWndMsg()

2011-01-04 23:49:00 390

转载 C++项目中的 extern "C"{}(转)

<br />引言 <br /><br />在用C++的项目源码中,经常会不可避免的会看到下面的代码: <br /><br />1 <br />#ifdef __cplusplus <br />2 <br />extern "C" { <br />3 <br />#endif <br />4 <br /><br />5 <br />/*...*/ <br />6 <br /><br />7 <br />#ifdef __cplusplus <br />8 <br />} <br />9 <br />#

2011-01-04 23:48:00 365

转载 MFC中获取各种类指针(转)

<br /><br />  1、获取应用程序指针<br />  CMyApp* pApp=(CMyApp*)AfxGetApp();<br /> <br />2、获取主框架指针<br />  CWinApp 中的公有成员变量 m_pMainWnd 就是主框架的指针<br />  CMainFrame* pMainFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd);<br />  或者<br />  CMainFrame* pMainFrame = (CMainFra

2011-01-04 23:46:00 474

转载 VC++文件操作(转)

<br /><br />文件属性相关<br />1.判断文件是否存在<br />利用CFile类和CFileStatus类判断<br />CFileStatus filestatus;<br />if (CFile::GetStatus(_T("d://softist.txt"), filestatus))<br />    AfxMessageBox(_T("文件存在"));<br />else<br />    AfxMessageBox(_T("文件不存在"));<br />利用C

2011-01-04 23:44:00 691

转载 C++内存池实现实例(转)

<br /><br /><br />本节分析在某个大型应用程序实际应用到的一个内存池实现,并详细讲解其使用方法与工作原理。这是一个应用于单线程环境且分配单元大小固定的内存池,一般用来为执行时会动态频繁地创建且可能会被多次创建的类对象或者结构体分配内存。<br />本节首先讲解该内存池的数据结构声明及图示,接着描述其原理及行为特征。然后逐一讲解实现细节,最后介绍如何在实际程序中应用此内存池,并与使用普通内存函数申请内存的程序性能作比较。<br /><br />内存池类MemoryPool的声明如下:<br /

2011-01-04 23:42:00 819

转载 走出MFC窗口子类化的迷宫

<br />  走出MFC窗口子类化的迷宫 收藏<br />MFC向导生成的对话框为模态对话框,当我们在资源编辑器中向对话框拖拽一个按钮IDC_BTN时,其布局信息将同步反映在DlgDemo.rc资源脚本文件中。<br />// DlgDemo.rc<br />IDD_MY_DIALOG DIALOGEX 0, 0, 320, 201<br />STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU<br />EXSTYLE

2011-01-03 23:51:00 534

转载 走出MFC窗口子类化的迷宫

<br />  走出MFC窗口子类化的迷宫 收藏<br />MFC向导生成的对话框为模态对话框,当我们在资源编辑器中向对话框拖拽一个按钮IDC_BTN时,其布局信息将同步反映在DlgDemo.rc资源脚本文件中。<br />// DlgDemo.rc<br />IDD_MY_DIALOG DIALOGEX 0, 0, 320, 201<br />STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU<br />EXSTYLE

2011-01-03 23:51:00 648

转载 走出MFC窗口子类化的迷宫

<br />  走出MFC窗口子类化的迷宫<br />MFC向导生成的对话框为模态对话框,当我们在资源编辑器中向对话框拖拽一个按钮IDC_BTN时,其布局信息将同步反映在DlgDemo.rc资源脚本文件中。<br />// DlgDemo.rc<br />IDD_MY_DIALOG DIALOGEX 0, 0, 320, 201<br />STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU<br />EXSTYLE WS

2011-01-03 23:51:00 912

转载 走出MFC窗口子类化的迷宫

<br />  走出MFC窗口子类化的迷宫 收藏<br />MFC向导生成的对话框为模态对话框,当我们在资源编辑器中向对话框拖拽一个按钮IDC_BTN时,其布局信息将同步反映在DlgDemo.rc资源脚本文件中。<br />// DlgDemo.rc<br />IDD_MY_DIALOG DIALOGEX 0, 0, 320, 201<br />STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU<br />EXSTYLE

2011-01-03 23:51:00 418

转载 走出MFC窗口子类化的迷宫

<br />  走出MFC窗口子类化的迷宫 收藏<br />MFC向导生成的对话框为模态对话框,当我们在资源编辑器中向对话框拖拽一个按钮IDC_BTN时,其布局信息将同步反映在DlgDemo.rc资源脚本文件中。<br />// DlgDemo.rc<br />IDD_MY_DIALOG DIALOGEX 0, 0, 320, 201<br />STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU<br />EXSTYLE

2011-01-03 23:49:00 501

转载 走出MFC窗口子类化的迷宫

<br />  走出MFC窗口子类化的迷宫 收藏<br />MFC向导生成的对话框为模态对话框,当我们在资源编辑器中向对话框拖拽一个按钮IDC_BTN时,其布局信息将同步反映在DlgDemo.rc资源脚本文件中。<br />// DlgDemo.rc<br />IDD_MY_DIALOG DIALOGEX 0, 0, 320, 201<br />STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU<br />EXSTYLE

2011-01-03 23:48:00 838

转载 走出MFC窗口子类化的迷宫

<br />  走出MFC窗口子类化的迷宫 收藏<br />MFC向导生成的对话框为模态对话框,当我们在资源编辑器中向对话框拖拽一个按钮IDC_BTN时,其布局信息将同步反映在DlgDemo.rc资源脚本文件中。<br />// DlgDemo.rc<br />IDD_MY_DIALOG DIALOGEX 0, 0, 320, 201<br />STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU<br />EXSTYLE

2011-01-03 23:47:00 506

转载 为什么拷贝构造函数必须为引用传递,不能是值传递?

<br />拷贝构造函数的标准写法如下:class Base<br />{<br />public:<br />  Base(){}<br />  Base(const Base &b){..}<br />  //<br />}<br /><br />上述写法见得最多,甚至你认为理所当然。<br />那么如果我们不写成引用传递呢,而是值传递,那么会怎样?class Base<br />{<br />public:<br />  Base(){}<br />  Base(const Base b){}<br

2011-01-03 23:43:00 590

原创 EndOfFile is not member of _Recordset的解释和解决方案

<br />    在导入那个动态连接库的时候,编译器会为我们在Debug生成两个文件,msado15.dllh和msado15.tli。其中是一些类,函数的定义和实现。在用rename的时候实际上是去改了两个文件中的一些与EOF相关的函数和变量的名字(改成了你现在的名字)。那个错误的原因是你做了名字的改动,但是没有反应到那两个文件中去。或者那两个文件已经修改,但是没有加载到你的程序中来。那么解决的方法很简单,就是选择Build(编译)菜单中的Rebuild All,重新编译一下就可以了。

2011-01-03 23:29:00 1747 2

转载 Windows消息编程

<br />Windows消息编程韩耀旭 下载源代码 本文主要包括以下内容: 1、简单理解Windows的消息 2、通过一个简单的Win32程序理解Windows消息 3、通过几个Win32程序实例进一步深入理解Windows消息 4、队列消息和非队列消息 5、WM_COMMAND和WM_NOTIFY 6、MFC的消息映射 7、消息反射机制 1、简单理解Windows的消息 消息,就是指Windows发出的一个通知,告诉应用程序某个事情发生了。举个例子来说,鼠标单击某应用程序的一个按钮。这时,Windows

2011-01-03 23:08:00 453

转载 进程间通信 - 动态链接库实现

<br />引子<br />前面介绍的几种用于实现进程之间通信的方法都是比较正统的方式,<br />像剪贴板,命名管道这些都还是用得比较多的,<br />而这里将介绍的是一种比较偏门的方法来实现进程间的通信,<br />所谓偏门呢,自然就是用的少,能够不用就不要使用。<br />其实这种方法就是通过动态链接库来实现进程间的通信。<br />           <br />                 <br />动态链接库(DLL)概述               <br />既然是要通过动态链接库来

2011-01-03 23:01:00 784

转载 进程间通信 - 剪贴板实现

<br />引子<br />由于在启动一个进程后,操作系统会给这个进程分配 4GB 的私有地址空间,至于为何有 4GB 这么大,<br />那得考虑进程的私有地址空间和实际物理内存地址空间之间的映射以及页交换等等细节问题了,这里不予讨论,<br />从名字就可以知道,既然操作系统给每一个进程分配的是私有地址空间,<br />自然,这段地址空间也只有这个进程自己才能访问了,不然还称为私有干吗呢?<br />既然这段私有地址空间只能由进程本身访问,那也就说明别的进程是不能够随意的访问这个进程的地址空间的,<br

2011-01-03 22:58:00 709

转载 进程间通信 - 邮槽实现

<br />引子<br />前面的一篇博文介绍了进程之间通信的一种最为简单的方式,<br />也就是在本地进程之间通过剪贴板来实现进程间通信,而剪贴板自有其缺陷,<br />很显然的是,剪贴板只能在本地机器上实现,<br />无法实现本地进程与远程服务器上的进程之间的通信,<br />那么有没有办法实现本地进程和远程进程的通信呢?<br />办法自然是有的,要是实在搞不出,<br />我拿 Socket 来实现本地进程和远程进程的通信来实现也是可以的,<br />但是你想啊,要用 Socket 来实现本地进

2011-01-03 22:57:00 525

转载 进程间通信 - 命名管道实现

<br />引子<br />好,到这里呢,就需要介绍实现进程间通信的第四种方式了,<br />也就是通过命名管道来实现,前面介绍的那三种方式呢,都是有缺陷或者说局限性太强,<br />而这里介绍的命名管道相对来说,在这方面就做得好很多了,<br />比如,剪贴板的话只能实现本机上进程之间的通信,<br />而邮槽的话虽然是可以实现跨网络之间的进程的通信,<br />但麻烦的是邮槽的服务端只能接收数据,邮槽的客户端只能发送数据,太悲剧了,<br />而对于匿名管道的话,其也只能实现本机上进程之间的通信,<br

2011-01-03 22:55:00 1282 1

转载 C++虚函数表解析(转)

<br />C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家 一个清晰的剖析

2011-01-02 23:32:00 348

转载 slice

代码class Base{<br />public:<br /> Base():m(0){};<br />//Base(const Base& rhs):m(rhs.m){cout<<"Copy constructor, rhs is "<<&rhs<<" this pointer is "<<this<<endl;}<br />void add(){m++;};<br />int m;<br />};<br />class Derived : public Base{};<br />int main

2011-01-02 23:31:00 317

转载 void指针

<br />指针有两个属性:指向变量 / 对象的地址和长度(长度也可以理解成大小)<br /> 但是指针只存储地址,长度则取决于指针的类型,编译器根据指针的类型从指针指向的地址向后寻址<br /><br />指针类型不同则寻址范围也不同,比如:<br />int*从指定地址向后寻找4字节作为变量的存储单元 <br />double*从指定地址向后寻找8字节作为变量的存储单元 <br /><br />1.void指针是一种特别的指针 <br />  void *vp <br />  //说它特别是因为它没有类

2011-01-02 23:18:00 343

转载 堆和栈的区别 (BY 任我行)

<br />非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别<br />一、预备知识—程序的内存分配<br />一个由c/C++编译的程序占用的内存分为以下几个部分<br />1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。<br />2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。<br />3、全局区(静

2011-01-02 23:16:00 369

转载 MFC 添加动态菜单

<br />动态创建一个右键菜单,将可供选择的各项列出来。<br />每个菜单项添加一个ID,因为弹出菜单有几项是不确定的,所以不能逐一添加菜单响应函数,而是将命令都映射到<br />如下类型的函数中,UINT nID为添加菜单项是设置的ID。依据该ID来判断用户点击的是哪个菜单项。<br />  void OnShowMember(UINT nID)view sourceprint?001// popMenuDlg.cpp : 实现文件 002// 003  004#include "stdafx.h"

2011-01-02 00:08:00 864

转载 钩子(转)

钩子(一)<br />      钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。<br /><br /> 基本概念:<br />      钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即

2011-01-01 23:51:00 634

modern C++ design

c++进阶的好书,书中详细介绍了c++的高级知识,是学习com的知识的很好的准备。

2011-01-06

c++ 设计模式 中文

c++ 设计模式,在掌握了c++的基础知识后,多看看别人的代码,学习设计模式的基础知识,对于提高自己的设计水平很有帮助。

2010-12-19

mfc 类库 手册

学习vc 的好工具,包含了所以mfc类库和基本上所有消息和宏定义,提供索引功能,方便查询

2010-12-19

struts 2 api帮组手册

struts2 开发框架 java web 开发 api 帮助手册

2010-12-19

jpeg 编码解码源代码

jpeg 编码解码源代码,学习jpeg很实用

2010-12-03

android pro 英文版

基于android手机操作系统的应用程序开发很有前途,这本书市学习android很不错的书。

2010-11-28

46家著名公司的笔试题

百度 大唐电信 等等公司的笔试题目,对找工作的人来说是一个很好的参考

2010-10-30

界面线程工作线程之间的通讯

这是一个从工作进程往界面线程发送消息控制界面进度条显示和工作线程建立消息堆栈提取消息的程序

2010-07-22

WinSock 网络编程

介绍了winsock编程的基础知识同时给出了一个简单的例子,是入门的好书籍!

2010-07-16

windows环境下的多线程编程原理与应用

详细介绍了windows先多线程编程的基础知识和高级内容,是学习windows下多线程编程的宝典!

2010-07-16

win32 多线程编程 实例学习

比较详细的介绍了win32多线程编程的基础知识,通过实例学习,让你更快掌握多线程编程

2010-07-16

windows核心编程

windows核心编程时学习windows编程的宝典,本电子书是第4版的中文版

2010-03-15

mfc windows程序设计

mfc windows 程序设计 不用多说,学习mfc的经典书籍,不过是英文版本的。

2010-03-15

Advanced+MFC+Programming

进一步学习mfc必看经典电子书,Advanced+MFC+Programming

2009-12-15

javafx官方教程

javafx官方入门教程,详细介绍了javafx的基本语法知识,是深入学习javafx的必备基础教程!

2009-06-14

J2ME从入门到精通源代码

j2me从入门到精通随书源代码,包含了书中所有实例的代码!

2009-06-02

j2me 3d入门教程

非常适合j2me 3d入门级新手!详细介绍聊jsr184api中各个类和方法的使用!

2009-06-02

空空如也

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

TA关注的人

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