自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(643)
  • 收藏
  • 关注

原创 CodeFx:一站式微软开发技术解决方案

     晚上在博客堂读完VSTO写的一篇文章,介绍了CodePlex上面的一个项目,叫做“All-In-One Code Framework”,代号CodeFx,简单的说,就是收集了几乎所有常见的微软开发技术的示例项目,将其打包到这个框架里,而且还使用各种不同的语言进行实现。比如创建一个ActiveX控件和COM组件,CodeFx里面使用ATL、MFC、VB、C#来实现同样的功能。适

2009-03-04 23:41:00 1311

原创 【译】用于多媒体应用的无窗口ATL ActiveX控件容器

原文链接:ATL Windowless ActiveX Media Container      这个ATL activeX框架适用于作为Windows Media Player,Flash以及Sliverlight动画的承载容器。整个框架分布在Windowless文件夹下,共有6个文件。架构如图所示: 使用Adobe Flash Player作为子控件 主要代码如下:

2009-03-04 14:41:00 1836 1

原创 解决打印代码的一个Bug

        ActiveX控件中的打印代码一直是运行正常,可今天为了修改ActiveX控件的版本,修改资源文件后,打印功能一直报错。     Debug后发现错误描述信息是:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->E

2009-03-04 01:41:00 939

原创 ActiveX控件版本自动更新问题的解决方案

     发布一个ActiveX给客户后,后期的维护中进行更新后需要再次发布到客户机器上,因此需要控件进行版本的自动更新。这里假设原始版本号为1,0,0,1,修改后的版本号为1,0,0,2。     第一步,在项目的资源文件中修改ActiveX的版本号,一般只需要修改小版本号就可以了。第二步,重新编译ActiveX控件,检查控件的版本信息是否正确第三步,修改.inf

2009-03-03 12:41:00 2625

原创 GDI+学习笔记(一)

 (1)、在应用程序中添加GDI+的包含文件gdiplus.h以及附加的类库gdiplus.lib。通常gdiplus.h包含文件添加在应用程序的stdafx.h文件中,而gdiplus.lib可用两种进行添加:第一种是直接在stdafx.h文件中添加下列语句: Code highlighting produced by Actipro CodeHighlighter (freew

2009-03-01 08:41:00 709

原创 本周学习心得

1,《高质量C++/C 编程指南》第5章第4节讲到类中的常量时,作者是推荐用enum来实现Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class MyClass{public:    MyClass()    {  

2009-02-25 20:41:00 901 3

原创 《Windows驱动开发技术详解》读书笔记(二)

        再来看基于WDM的驱动程序,Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#ifdef __cplusplusextern "C"{#endif#include wdm.h>#ifdef __cplus

2009-02-20 17:41:00 934

原创 C++ Exercises(十九)

1.写一个函数,将字符串中的/t 都转换成4 个空格。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include iostream>#include string>using namespace std;string 

2009-02-20 11:41:00 949

原创 《Windows驱动开发技术详解》读书笔记(一)

     首先需要安装DDK,这里我选择Microsoft Windows Server 2003 SP1 DDKWindows驱动分成两类,一类是不支持即插即用的NT式驱动,一类是支持即插即用的WDM驱动.首先来看一个最简单的NT式驱动。Code highlighting produced by Actipro CodeHighlighter (freeware)http:/

2009-02-19 11:41:00 921 2

原创 C++ Exercises(十八)

 下了份《46家公司笔试题》做做,好久没接触这些基本知识了,熟悉下 1.完成下列程序     *     *.*.     *..*..*..     *...*...*...*...     *....*....*....*....*....     *.....*.....*.....*.....*.....*.....     *......*....

2009-02-18 20:41:00 676

原创 C++ Exercises(十七)---网际校验和算法

     在《基于ARP协议获取局域网内主机MAC地址》中使用了WinpCap来发送ARP请求,查询局域网内主机MAC地址,这篇来试试直接用Windows API函数来实现,最后再来探索用于IP,TCP,UDP等众多协议的网际校验和算法。1,查询局域网主机MAC地址Code highlighting produced by Actipro CodeHighlighter (free

2009-01-05 20:41:00 1617

原创 【转】Java 下实现锁无关数据结构

 原文链接:《Java 下实现锁无关数据结构》介绍      通常在一个多线程环境下,我们需要共享某些数据,但为了避免竞争条件引致数据出现不一致的情况,某些代码段需要变成原子操作去执行。这时,我们便需要利用各种同步机制如互斥(Mutex)去为这些代码段加锁,让某一线程可以独占共享数据,避免竞争条件,确保数据一致性。但可惜的是,这属于阻塞性同步,所有其他线程唯一可以做的就是等待。基于

2009-01-05 12:41:00 575

原创 【转】Monitor Object 并发模式在 Java 同步机制中的实现

原文链接:Monitor Object 并发模式在 Java 同步机制中的实现        本文从典型的 Monitor Object 设计模式入手,从一个新的视角,来探讨 Java 语言的同步机制。      本文将从两个方面进行阐述:      使用 C++ 语言来描述 Monitor Object 设计模式。Java 对于这样一个典型的模式做了很好的语言层面的封装,因此

2009-01-04 21:41:00 972

原创 基于ARP协议获取局域网内主机MAC地址

ARP帧数据结构Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#define BROADMAC        {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF} //广播MAC#define EH_TYPE      

2009-01-04 21:41:00 2002

原创 【转】使用缓存构建更快的 Web 应用程序

       原文链接:《使用缓存构建更快的 Web 应用程序》      使用 Java技术的 Web 开发人员可以使用缓存实用程序快速提升他们的应用程序的性能。Java 缓存系统(Java Caching System,JCS)是一个用于 Java 应用程序的强大分布式缓存系统,它是拥有简单 API 的高度可配置的工具。本文将概述 JCS 并展示如何使用它来提高 Web 应用程

2009-01-03 19:41:00 533

原创 C++ Exercises(十六)---Ethernet帧包结构解析

图1是一个假想的帧包结构,图2是解包后的结果。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->////////////////////////////////帧信息类 //////////////////////////

2009-01-03 16:42:00 1079

原创 COM组件开发实践(八)---多线程ActiveX控件和自动调整ActiveX控件大小(下)

源代码下载:MyActiveX20081229.rar声明:本文代码基于CodeProject的文章《A Complete ActiveX Web Control Tutorial》修改而来,因此同样遵循Code Project Open License (CPOL)。      在上一篇文章《COM组件开发实践(七)---多线程ActiveX控件和自动调整ActiveX控件大小(

2008-12-29 21:42:00 793

原创 COM组件开发实践(七)---多线程ActiveX控件和自动调整ActiveX控件大小(上)

声明:本文代码基于CodeProject的文章《A Complete ActiveX Web Control Tutorial》修改而来,因此同样遵循Code Project Open License (CPOL)。       最近遇到两个需求:1)在ActiveX控件中使用工作线程来完成底层的硬件设备扫描任务,并在工作线程中根据操作结果回调外部web页面的JavaScript函数;

2008-12-29 17:42:00 788

原创 Commons Collections学习笔记(四)

BeanMap这个Map类用于把一个javaBean转换为Map,在其中存储了javaBean的各个属性的setXXX方法和getXXX方法,属性的类型。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public class BeanMa

2008-12-20 14:42:00 503

原创 Commons Collections学习笔记(三)

这个Map类是基于红黑树构建的,每个树节点有两个域,一个存放节点的Key,一个存放节点的Value,相当于是两棵红黑树,一棵是关于key的红黑树,一棵是关于Value的红黑树。      关于红黑树的详细介绍,参考《C#与数据结构--树论--红黑树(Red Black Tree)》这篇文章。Code highlighting produced by Actipro CodeHigh

2008-12-19 16:42:00 488

原创 Commons Collections学习笔记(二)

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public abstract class AbstractBagDecorator extends AbstractCollectionDecorator implements Bag { 

2008-12-17 22:42:00 494

原创 Commons Collections学习笔记(一)

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public interface Bag extends Collection {    int getCount(Object object);    boolean add(Obj

2008-12-16 21:42:00 564

原创 数字统计问题

一本书的页码从自然数1 开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6 页用数字6 表示,而不是06 或006 等。数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,2,…,9。 编程任务:给定表示书的总页码的10 进制整数n (1≤n≤10^9) 。编程计算书的全部页码中分别用到多少次数字0,1,2,…

2008-12-14 16:42:00 761

原创 【译】Native Client: A Sandbox for Portable, Untrusted x86 Native Code

原文链接:Native Client: A Sandbox for Portable, Untrusted x86 Native Code本文介绍Google Native Client的设计思路.系统架构      一个NaCl应用程序由许多可信和不可信NaCl模块组成,每个模块都在一个进程中单独运行。假想一个基于NaCL实现的,用于管理和分享图片的应用,它由两个组件构成

2008-12-12 15:42:00 985

原创 Google Native Client入门

      上午在去往上海的动车组上看到《Google正在测试ActiveX的继任者》这条新闻,因为前段时间一直在做一个证件信息采集的ActiveX控件,而众所周知,ActiveX的安全性是臭名昭著的,所以对这个所谓的“继任者”非常感兴趣,晚上回来后就第一时间试了试。      Native Client项目主页:http://code.google.com/p/nativeclien

2008-12-09 21:42:00 1312

原创 Mina2.0框架源码剖析(八)

这篇来看看AbstractPollingIoConnector抽象类,它用于用于实现客户端连接的轮询策略。处理逻辑基本上和上一篇文章说的AbstractPollingIoAcceptor类似,它继承自AbstractIoConnector,两个泛型参数分别是所处理的会话和客户端socket连接。底层的sockets会被不断检测,并当有任何一个socket需要被处理时就会被唤醒去处理。这个类

2008-12-08 15:42:00 643

原创 Mina2.0框架源码剖析(七)

前面介绍完了org.apache.mina.core.session这个包,现在开始进入org.apache.mina.core. polling包。这个包里包含了实现基于轮询策略(比如NIO的select调用或其他类型的I/O轮询系统调用(如epoll,poll,kqueue等)的基类。先来看AbstractPollingIoAcceptor这个抽象基类,它继承自AbstractIo

2008-12-08 14:42:00 765

原创 Mina2.0框架源码剖析(六)

上文的内容还有一些没有结尾,这篇补上。在ExpiringMap类中,使用了一个私有内部类ExpiringObject来表示待检查超时的对象,它包括三个域,键,值,上次访问时间,以及用于上次访问时间这个域的读写锁:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlight

2008-12-07 20:42:00 1317

原创 Mina2.0框架源码剖析(五)

前面介绍过IoSessionRecycler是负责回收不再使用的会话的接口,ExpiringSessionRecycler是其一个实现类,用于回收超时失效的会话。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->private Expirin

2008-12-04 17:42:00 595

原创 Mina2.0框架源码剖析(四)

      前面几篇介绍完了org.apache.mina.core.service这个包,现在进入org.apache.mina.core.session,这个包主要是围绕IoSession展开的,包括会话的方方面面。IoSession接口与底层的传输层类型无关(也就是不管是TCP还是UDP),它表示通信双端的连接。它提供用户自定义属性,可以用于在过滤器和处理器之间交换用户自定义协议

2008-12-04 15:42:00 694

原创 Mina2.0框架源码剖析(三)

AbstractIoAcceptor类继承自AbstractIoService基类,并实现了IoAcceptor接口,它主要的成员变量是本地绑定地址。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->    private final Lis

2008-12-04 14:42:00 703

原创 Mina2.0框架源码剖析(二)

      上一篇介绍了几个核心的接口,这一篇主要介绍实现这些接口的抽象基类。首先是实现IoService接口的AbstractIoService类。它包含了一个Executor来处理到来的事件。每个AbstractIoService都一个AtomicInteger类型的id号,确保每个id的唯一性。它内部的Executor可以选择是从外部传递进构造函数中,也可以在实例内部自行构造,若

2008-12-04 11:42:00 709

原创 Mina2.0框架源码剖析(一)

整个框架最核心的几个包是:org.apache.mina.core.service, org.apache.mina.core.session, org.apache.mina.core.polling以及org.apache.mina.transport.socket。      这一篇先来看org.apache.mina.core.service。第一个要说的接口是IoServic

2008-12-03 21:42:00 820

原创 Mina2.0快速入门

MinaTimeServer.javaCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->package com.vista;import java.io.IOException;import java.net.InetSocket

2008-11-27 21:42:00 1285

原创 使用Automake和Autoconf生成Makefile

automake 所产生的 Makefile 除了可以做到程序的自动编译和链接外,还可以用来生成各种文档(如manual page、info文件),可以将源代码文件包装起来以供发布。所以程序源代码所存放的目录结构最好符合GNU的标准惯例。下面以hello.c程序生成Makefile文件作为例子。1,在当前目录下创建一个名为hello的子目录。hello这个目录用于存放 hello.c这

2008-11-27 16:42:00 599

原创 《Beginning Linux Programming》读书笔记(四)

1, 读写空指针先看第一种情况,printf试图访问空指针,以打印出字符串,而sprintf试图向空指针写入字符串,这时,linux会在GNU C函数库的帮助下,允许读空指针,但不允许写空指针。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/

2008-11-25 18:42:00 549

原创 《Beginning Linux Programming》读书笔记(三)

1,文件的读写0号文件描述符—标准输入,1号文件描述符—标准输出,2号文件描述符—标准错误Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include stdlib.h>#include unistd.h>#include 

2008-11-24 16:42:00 631

原创 《Beginning Linux Programming》读书笔记(二)

      第2章Shell编程没什么多说的,记录个代码,本章最后的那个简单的CD管理程序Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#!/bin/sh# Very simple example shell script for

2008-11-24 16:42:00 636

原创 《Beginning Linux Programming》读书笔记(一)

1,第一个程序Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include stdio.h>int main(){    printf("hello,linux/n");    return 0;}编译运行:

2008-11-24 09:42:00 436

原创 《Beginning Linux Programming》读书笔记(序)

      开始阅读这本书,英文第3版,记录学习所得

2008-11-24 09:42:00 540

空空如也

空空如也

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

TA关注的人

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