- 博客(33)
- 收藏
- 关注
原创 COM组件开发实践(二)
假设需求如下:底层是一个数学运算库DLL,中间是ActiveX控件(它调用底层的数学运算库DLL来完成控制层),界面层在测试时可以是一个exe程序,最后发布到IE浏览器上测试。 数学运算库DLL的开发 新建一个Win32 DLL项目,加入一个头文件MyNum.h,在其中声明所有的数学函数(为简单起见,本文只考虑加法运算),代码如下:Code highlig
2008-07-28 17:46:00 769
原创 COM组件开发实践(一)
Preface 因为项目需要,开始从事ActiveX方面的工作,看了一些资料,可惜都是些COM原理方面的,没有切合实际动手的东西,在CodeProject上读完David Marcionek的文章【1】后,收获良多,但也遇到一些恼人的小问题,因此在其基础上就一些易错点做些小注解。本文版权归David Marcionek所有。简介 本文目的在于让你快速掌握Act
2008-07-25 22:46:00 864 1
原创 C++ Exercises(十七)--图的简单实现
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->const int MAXSIZE = 50; //顶点最大数目#include vector>using namespace std;templatetypename T>
2008-07-23 21:47:00 534
原创 平衡二叉树(AVL树)的简单实现
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include stdlib.h>templatetypename T>class CAVLTree;templatetypename T>class CAVLTre
2008-07-22 20:47:00 593
原创 用VC6.0遇到的一个问题
我的电脑装vs2008总是报错,不得已装了个VC6 sp6暂时先用用,发现使用重载输入输出运算符时有问题demo3.h:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include iostream.h>class demo
2008-07-21 18:47:00 558
原创 二叉搜索树(BST树)的简单实现
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include stdlib.h>templatetypename T>class CBinSTree;template typename T>class CTreeN
2008-07-21 15:47:00 509
原创 C++ Exercises(十六)--二叉树的简单实现
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include "stdafx.h"#include iostream>#include stack>#include "BinSTree.h"#include queue
2008-07-20 14:47:00 471
原创 一个简单的线程池实现(java版)
线程池代码: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->import java.util.List;import java.util.Vector;public class ThreadPool { p
2008-07-19 14:47:00 593 1
原创 Priority Queue(Heap)的实现及其应用
优先队列严格说实际上不是一种队列,因为它并不需要遵循队列的FIFO特性,而要求的基本操作包括:向队列中插入新的记录,以及移出队列中的最大的元素。我们可以以各种不同的方式来实现优先队列——只要能够满足上面的两个接口就可以了。但是基于堆的优先队列则具有较好的性能。优先队列是一种很有用的数据结构,因为实际上我们不是每时每刻都需要对数据进行严格的排序,有时候我们仅仅能够获得最大的元素的即可,但
2008-07-19 11:47:00 767
原创 C++ Exercises(十五)--排序算法的简单实现
struct Node {//队列结点 int data; struct Node* pNext;};class CQueue{//队列类(带头结点)public: CQueue(void); ~CQueue(void); bool isEmpty()const;//是否为空 void EnQueue(i
2008-07-18 20:47:00 453
原创 Java NIO非阻塞服务器示例
以前一直用的是“ervery thread per connection”的服务器端模式,今天试了下NIO非阻塞模式的服务器。 不过java不能实现I/O完成端口模型,这点很遗憾package com.vista.Server;import java.io.IOException;import java.net.InetSocketAddress;import
2008-07-17 19:47:00 549
原创 C++ Exercises(十四)--解线性方程组
帮一个朋友做的作业题,现在真是什么专业都要学编程了呀。。//向量类/**//***author:phinecos**date:7/17/2008*/class CVector{public: CVector(unsigned int d=0);//由向量的维数创建向量,向量元素值初始化为 CVector(unsigned
2008-07-17 16:47:00 1048
原创 基于jabber(XMPP)架设即时通信服务
Jabber 是著名的即时通讯服务服务器,它是一个自由开源软件,能让用户自己架即时通讯服务器,可以在Internet上应用,也可以在局域网中应用。 XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览
2008-07-15 16:47:00 628
原创 《Extensible Messaging and Presence Protocol (XMPP): Core》阅读笔记(二)
服务器到服务器SASL验证示例:Step 1: Server1 initiates stream to Server2: stream:stream xmlns=jabber:server xmlns:stream=http://etherx.jabber.org/streams to=example.com v
2008-07-15 15:47:00 522
原创 《Extensible Messaging and Presence Protocol (XMPP): Core》阅读笔记(一)
文档链接:《Extensible Messaging and Presence Protocol (XMPP): Core》客户和服务器之间端口为5222,服务器之间的端口为5269.通信协议格式:|--------------------|| stream> ||--------------------|| presence>
2008-07-15 14:47:00 622
原创 【转】Jabber即时通信系统服务整体框架概述
1.1. Introduction 简介第一个Jabber技术的应用是由开源社区发起并一直领导的即时消息的实时系统。Jabber即时消息(IM)系统和现有IM服务相比较由以下几个关键特点:XML为基础分布式网络开放的协议和内核代码模块化的、可扩展的系统架构本文档提供一个关于Jabber系统架构的高阶概述,主要集中介绍Jabber开源服务器的设计,目前的版本是
2008-07-15 12:47:00 811
原创 基于Win32的多线程客户/服务器通信
客户端:// Client.cpp : Defines the entry point for the application.//#include "stdafx.h"#include "resource.h"#include winsock.h>#pragma warning(disable:4700)#define MAX_LOADSTRING
2008-07-14 22:47:00 628
原创 ExtJS 2.0入门指南
v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}Normal07.8 磅02fals
2008-07-14 19:47:00 570
原创 一个RSS阅读器类
class CFeedItem{//RSS条目public: CFeedItem(); virtual ~CFeedItem();public: CString m_strAuthor;//作者 CString m_strCategory;//类别 CString m_strD
2008-07-11 14:47:00 626
原创 服务定位器模式(C++实现)
原文链接:An Implementation of the Service Locator Pattern in C++Service Locator 模式背后的基本思想是:有一个对象(即服务定位器)知道如何获得一个应用程序所需的所有服务。也就是说,在我们的例子中,服务定位器应该有一个方法,用于获得一个我们所需要的服务对象实例。从而将客户端代码和实际的实现代码解耦,用户可以在相同的接口
2008-07-10 21:47:00 820
原创 Threads and Pipes in Console Apps
原文链接:Threads and Pipes in Console Apps控制台程序中的线程和管道 问题是:如何创建一个可能阻塞的程序,但在阻塞的时候能当数据可读的时候从stdour和stderr中接收数据。本文的目的是展示如何在控制台程序中使用多线程。子进程程序:int _tmain(int argc, _TCHAR* argv[]){ for
2008-07-09 22:47:00 499
原创 一个动态数组类
templateclass TYPE> class CTArray{//动态数组类private: UINT nSize; // actual size UINT nGrow; // grow factorprotected: UINT nItems; // number of elements (as it
2008-07-08 21:48:00 621
原创 基于MFC的Direct3D程序设计
原文链接:MFC D3D Application: Direct3D Tutorial Part I 作者这个MFC程序中第一个有趣的地方是让用于Direct3D绘制的窗口类从CWnd类和CXD3D类继承下来:class CD3DWnd : public CXD3D, public CWndCD3DWnd类是用于窗口中控件(比如一个PictureBox)的基类,这个控
2008-07-08 21:47:00 1369
原创 Windows下搭建Subversion 服务器
Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4<!-- /* Font Definitions */@font-face{font-family:宋体;panose-1:2
2008-07-08 16:48:00 486
原创 一个图片加载类
#include vector>class CImageLoader { protected: /**//// Full path were the images and icons are stored CString m_sPath; /**//// List with all the Bmp found in m_sPath
2008-07-06 22:48:00 549
原创 刷新IE收藏夹图标
原文链接:FavIconizer 遍历文件夹工具类:class CDirFileList : public CStringArray {public: CDirFileList(); /**//** * fills the array with all files found in the given directory.
2008-07-06 19:48:00 729
原创 IShellLink接口的MFC封装类
//Class which contains all the parameters related to shortcutclass CShellLinkInfo : public CObject{public://Constructors / Destructors CShellLinkInfo(); CShellLinkInfo(const CShellLi
2008-07-06 19:48:00 2034
原创 一些实用的注册表封装类
头文件"registry.h"#include string>#include Shlwapi.h>#include tchar.h>/**//** * /ingroup CommonClasses * Base class for the registry classes.*/class CRegBase{public: //meth
2008-07-06 19:48:00 622
原创 一个线程封装类
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class CThread{public: /**//** * Default Constructor */
2008-07-06 18:48:00 1147 1
原创 字符串逻辑比较函数---StrCmpLogicalW的模拟实现
我们最熟悉的字符串比较函数莫过于strcmp了,但这个函数仅仅是根据字符进行比较,没有考虑字符串的逻辑意义,为此微软为我们提供了一个StrCmpLogicalW函数,它比较数字时不将其视为文本而是视为数值。我们可以从下列这个简单的字符串数组排序的结果看出这两个函数的区别:使用StrCmpLogicalW进行比较的结果:2string3string20stri
2008-07-06 16:48:00 1348
原创 进程间通信之邮槽
简介有时候我们需要一个程序与另一个程序之间进行通信。你可能在多台机器上有多个服务器运行,而在一个中央位置对一个或多个服务器进行远程监控。Windows平台为我们提供了一系列通信方式,从Socket到命名管道,DDE,DCOM,邮槽等。本文中作者将探讨邮槽这一通信机制,假定读者熟悉CreateFile(),ReadFile(),WriteFile()等API函数,此外还假定读者熟悉重
2008-07-06 14:48:00 600
原创 SpringSide示例之HelloWorld
Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4<!-- /* Font Definitions */@font-face{font-family:宋体;panose-1
2008-07-03 16:48:00 832
原创 Structs+Spring+Hibernate快速入门
Structs+Spring+Hibernate,这是很经典的一个搭配,它的开发流程也比较程式化,下面以用户注册为例。 注册页面代码:@page contentType="text/html;charset=GBK"%>html> head>title>Spring、Struts和Hibernate整合之用户注册title>head> body>${msg
2008-07-03 15:48:00 1489
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人