
没有读的文章
zhangxinrun_业余erlang
这个作者很懒,什么都没留下…
展开
-
在perl中嵌入shell命令
在linux中,如果要把几个可执行程序结合起来使用,一般是采用shell或者perl,当然,python也可以。这里说一下在perl里嵌入shell命令的情形。一般来说,最简单的方式就是采用“(qx//)就可以执行命令12$cmd = "du * sh"; `$cmd`;这样命令就执行了,但是却并没有输出。要输入的话,简单的可以这么处理:1 print `$cmd`;这里,如果程序有输入,那就不行了,后面再细说。下面看看另外一种方式,即system执行命令,它可以返回程序的退出状态,也就是说转载 2010-06-22 17:56:00 · 3708 阅读 · 0 评论 -
80386在保护模式下的中断和异
中断和异常<br />学过8086/8088汇编的人肯定对于中断这个概念都不陌生。在80386中,这个概念在一定程度上发生了变化,并引入了“异常”这个新概念。本篇文章就是围绕在操作系统开发中涉及到中断和异常的讨论。中断<br />中断在系统中是由外部事件所引起的,如:一次I/O操作的结束。其产生与CPU当前所执行的指令没有关系。从是否能够被屏蔽来划分,可将其分为两类,即可屏蔽中断与不可屏蔽中断,其中前者由CPU的INTR引脚接收信号,后者由NMI引脚接收信号。<br />由于产生中断的中断源并不单一,因此在转载 2010-08-25 22:32:00 · 2729 阅读 · 0 评论 -
Windows可执行文件简述(一)
<br />操作系统中的文件是一种抽象的机制,提供了一种在磁盘上保存信息而且方便以后读取的方法。在Windows操作系统中,一个用户可以最直接体会到的文件的形式就是以.exe、.dll等为扩展名的可执行文件。伴随着Windows操作系统的不断进步,其可执行文件的格式也发生了巨大变化。这期间主要有4个过程:DOS中出现的最简单的以.com为扩展名的可执行文件和以.exe为扩展名的MZ格式(MZ是MZ格式的主要作者Mark Zbikowski的名字的缩写)的可执行文件,Win 3.x下出现的NE(New Exe转载 2010-08-24 18:42:00 · 1022 阅读 · 0 评论 -
Windows可执行文件简述(二)
<br />如果PSP中的第一个FCB含有一个有效驱动器标识符,则置AL为00h,否则为0FFh。MS-DOS还置AH为00h或0FFh,这依赖于第二个FCB是否含有一个有效驱动器标识符。<br /><br /> <br />建造PSP后,MS-DOS在PSP后立即开始(偏移100h)加载com文件,它置SS、DS和ES为PSP的段地址,接着创建一个堆栈。为了创建这个堆栈,MS-DOS置SP为0000h。如果没有分配64K内存,则要置寄存器为比所分配的字节总数大2的值。最后,它把0000h推进栈,这是为了保转载 2010-08-24 18:47:00 · 745 阅读 · 0 评论 -
PE文件的基本结构-2 NT头
<br />1 PE文件头(NT文件头)<br />从DOS文件头的_lfanew字段(文件头偏移003ch)得到真正的PE文件头位置[$0000 0100]后,现在来看看它的定义,PE文件头是由IMAGE_NT_HEADERS结构定义的:<br />PImageNtHeaders = ^TImageNtHeaders;<br />_IMAGE_NT_HEADERS = packed record<br /> [$0100]Signature: DWORD;<br /> [$0104]FileH转载 2010-08-24 18:50:00 · 1286 阅读 · 0 评论 -
PE文件的基本结构-4 导入表
<br />导入表的位置和大小可以从PE文件头中IMAGE_OPTIONAL_HEADER32结构的数据目录字段中获取,对应的项目是DataDirectory字段的第2个IMAGE_DATA_DIRECTORY结构,从结构的VirtualAddress字段得到导入表的RVA值。<br />导入表由一系列的IMAGE_IMPORT_DESCRIPTOR结构组成,结构的数量取决于程序要使用的DLL文件的数量,每个结构对应一个DLL文件,在所有这些结构的最后,由一个内容全为0的IMAGE_IMPORT_DESCR转载 2010-08-24 18:51:00 · 1035 阅读 · 1 评论 -
Glibc简介
Glibc简介glibc<br /> glibc 是gnu发布的libc库,也即c运行库。 <br /> glibc是linux系统中最底层的api(应用程序开发接口), <br /> 几乎其它任何的运行库都会依赖于glibc。 <br /> glibc除了封装linux操作系统所提供的系统服务外, <br /> 它本身也提供了许多其它一些必要功能服务的实现,主要的如下: <br /> (1)string,字符串处理 <br /> (2)signal,信号处理 <br /> (3)dlfcn转载 2010-08-24 22:26:00 · 2353 阅读 · 0 评论 -
Perl 黑客编程
<br />九.LWP模块<br />LWP ("Library for WWW in Perl" 的缩写) 是一个由多个模块组成,主要用来获取网络数据的一个模块组。LWP包含有许多模块,通过它我们就可编写perl脚本来访问外部的WEB服务器上的资源了,关于LWP各模块的更多信息可以访问以下地址获得:http://search.cpan.org/~gaas/libwww-perl/这里我们只讲LWP::Simple和LWP::UserAgent这两个模块。 (1)LWP::Simple LWP::Simpl转载 2010-08-25 15:30:00 · 2599 阅读 · 0 评论 -
80386在保护模式下的中断和异
中断和异常<br />学过8086/8088汇编的人肯定对于中断这个概念都不陌生。在80386中,这个概念在一定程度上发生了变化,并引入了“异常”这个新概念。本篇文章就是围绕在操作系统开发中涉及到中断和异常的讨论。中断<br />中断在系统中是由外部事件所引起的,如:一次I/O操作的结束。其产生与CPU当前所执行的指令没有关系。从是否能够被屏蔽来划分,可将其分为两类,即可屏蔽中断与不可屏蔽中断,其中前者由CPU的INTR引脚接收信号,后者由NMI引脚接收信号。<br />由于产生中断的中断源并不单一,因此在转载 2010-08-25 22:30:00 · 977 阅读 · 0 评论 -
PE文件的基本结构-3 节表和RVA换算
<br />PE文件中所有节的属性都被定义在节表中,节表由一系列的IMAGE_SECTION_HEADER结构排列而成,每个结构用来描述一个节,结构的排列顺序和它们描述的节在文件中的排列顺序是一致的。全部有效结构的最后以一个空的IMAGE_SECTION_HEADER结构作为结束,所以节表中总的IMAGE_SECTION_HEADER结构数量等于节的数量加一。节表总是被存放在紧接在PE文件头的地方。<br />IMAGE_SECTION_HEADER结构的定义如下:<br />TISHMisc = pack转载 2010-08-24 18:51:00 · 1475 阅读 · 0 评论 -
PE文件的基本结构-1 总体介绍和dos头
<br />1 概论 <br />看历史;COM文件,EXE文件,LE格式的可执行文件(Linear executable/线性可执行文件),Windows 9x中的VxD驱动程序也使用LE格式,因为这些驱动程序中也同时包括16位和32位代码。<br />而在Windows 9x,Windows NT,Windows 2000下,纯32位的可执行文件都使用微软设计的一种新的文件格式——PE格式(Portable Executable File Format/可移植的执行体)。<br />PE文件的基本结构如转载 2010-08-24 18:49:00 · 1211 阅读 · 0 评论 -
Windows可执行文件简述(三)
4.LE格式<br />在Windows3.x的时代,从DOS启动Windows,Windows在把机器转到保护模式之前需要在实模式下做一些初始化。实模式的16位代码必须和32位代码一起放在可执行文件中。旧的DOS下的可执行文件和NE格式的可执行文件无法满足这个要求,于是从Win 3.x起到Win 9x,产生了一种新型的可执行文件格式LE,它只适用于工作于系统底层的、同时包含16位代码和32位代码的VxD驱动程序。OS/2 2.x也使用LE格式。<br /><br /> <br />一般而言,保护模式下的可转载 2010-08-24 18:48:00 · 822 阅读 · 0 评论 -
Perl常用模块使用例子5
<br />(31) Text::CSV_XS, parse(), fields(), error_input()<br />如果field里面也包含分隔符(比如”tom,jack,jeff”,”rose mike”,O’neil,”kurt,korn”),那么我们<br />解析起来确实有点麻烦,<br />Text::CSV_XS挺方便。<br /> <br />#!/usr/bin/perl<br />use strict;<br />use Text::CSV_XS;<br />my @column原创 2010-06-22 18:00:00 · 3320 阅读 · 0 评论 -
perl 常用模块使用例子
<br />一些常用模块的简单描述<br />http://www.perldoc.com/perl5.6/pod/perlmodlib.html<br />在perl 中使用模块:<br />模块的下载地址:http://www.cpan.org/modules/01modules.index.html<br />安装模块:<br />1. perl Makefile.PL<br />2. make<br />3. make test<br />4. make install <br />也可以用如下命令原创 2010-06-22 18:01:00 · 2335 阅读 · 0 评论 -
AJAX技术简介
AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 主要包含了以下几种技术Ajax(Asynchronous JavaScript + XML)的定义 基于web标准(standards-based presentation)XHTML+CSS的表示; 使用 DOM(Document Object Model)进行动态显示及交互; 使用 XML 和 XSLT 进行数据交换及相关操作; 使用 XMLH转载 2010-06-21 19:56:00 · 910 阅读 · 0 评论 -
javascript之DOM技术
<br />DOM是一种文档对象模型,它定义了操作xml文档的方法和属性,但是它只是一系列接口,是由别的语言来实现,如:java中xerces,javascript,.net等<br />等,虽然实现方式各异,但有一样是不会变的,那就是DOM API,在正式进入我们的主题前,先来看看常用的DOM API(大致有个印象就行,后面会详<br />解):<br />1.常用DOM API(void表示没有返回值,或没有参数)<br />1)DOMDocument对象表示整个xml文件的文档结构,javascrip转载 2010-06-21 20:06:00 · 607 阅读 · 0 评论 -
GCC的内嵌汇编语法
AT&T ASM Syntax <br />1 Overview <br />开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的Size。另外,对于某些需要被经常调用的代码,使用汇编来写可以提高性能。所以我们必须了解汇编语言,即使你有可能并不喜欢它。 <br /> <br />如果我们选择的OS开发工具是GCC以及GAS的话,就必须了解AT&T汇编语言语法,因为GCC/GAS只转载 2010-08-17 11:06:00 · 812 阅读 · 0 评论 -
Windows SDK笔记(经典--一定要看)
<br />Windows SDK笔记(一):Windows程序基本结构<br />一、概述<br />Windows程序具有相对固定的结构,对编写者而言,不需要书写整个过程,大部分过程由系统完成。<br />程序中只要按一定的格式填写系统留给客户的那一小部分。<br />所需要完成的有:<br />窗口类的定义、窗口的建立、消息函数的书写、消息循环。<br /> <br />二、消息处理函数<br />Windows程序是事件驱动的,对于一个窗口,它的大部分例行维护是由系统维护的。没个窗口都有一个消息处理转载 2010-08-18 14:13:00 · 1386 阅读 · 0 评论 -
依赖于设备的位图(DDB) ,CreateCompatibleBitmap用法
<br />DDB(Device-dependent bitmap)依赖于具体设备,这主要体现在以下两个方面: <br /> <br />DDB的颜色模式必需与输出设备相一致。例如,如果当前的显示设备是256色模式,那么DDB必然也是256色的,即一个像素用一个字节表示。<br /> <br />在256色以下的位图中存储的像素值是系统调色板的索引,其颜色依赖于系统调色板。<br /> <br /><br />由于DDB高度依赖输出设备,所以DDB只能存在于内存中,它要么在视频内存中,要么在系统内存中。<b转载 2010-08-21 20:51:00 · 2427 阅读 · 0 评论 -
窥探PE文件内幕:Win32 PE 文件格式之旅1
<br />Matt Pietrek <br />1994 年3月 <br />Matt Pietrek 是Windows Internals (Addison-Wesley, 1993)的作者。他就职于Nu-Mega 技术有限公司,可通过CompuServe: 71774,362联系到他。 <br />这篇文章出自1994年3月发行的Microsoft系统期刊。版权所有﹫1994 Miller Freeman, Inc.保留所有权利。未经Miller Freeman同意,这篇文章的任何部分不得以任何形式被转载 2010-08-23 21:58:00 · 1319 阅读 · 0 评论 -
80386在保护模式下的中断和异
中断和异常<br />学过8086/8088汇编的人肯定对于中断这个概念都不陌生。在80386中,这个概念在一定程度上发生了变化,并引入了“异常”这个新概念。本篇文章就是围绕在操作系统开发中涉及到中断和异常的讨论。中断<br />中断在系统中是由外部事件所引起的,如:一次I/O操作的结束。其产生与CPU当前所执行的指令没有关系。从是否能够被屏蔽来划分,可将其分为两类,即可屏蔽中断与不可屏蔽中断,其中前者由CPU的INTR引脚接收信号,后者由NMI引脚接收信号。<br />由于产生中断的中断源并不单一,因此在转载 2010-08-25 22:33:00 · 986 阅读 · 0 评论 -
ACE的陷阱
<br />坦白说,使用这个标题无非是希望能够吸引你的眼球,这篇文章的目的仅仅是为了揭示一些ACE缺陷的。文章适合的读者是对ACE(ADAPTIVE Communication Environment)有一定研究,或者正在使用ACE从事项目开发的人士参考。如果你对C++还是新手,甚至包括ACE知识初学者,(但你想飞的更高),建议你收藏这篇文档以后阅读。<br />秉承陷阱系列文章的传统,我只是通过一些辩证的角度去看ACE的一些不足,对于ACE的强大和优美我就不再作赞美。从2000年,到现在,ACE在中国已经转载 2010-09-02 17:53:00 · 2016 阅读 · 0 评论 -
一个高效的定时器分析及设计
<br /> 对于一个游戏而言,定时器是必须的,而它一般作为一个游戏基本公共组件,而定时器在游戏逻辑中运用是非常明显的(比如吃药回血,每几秒回血多少),而对于游戏逻辑而言需要开发一个高效率高精度(毫秒级别)的定时器。 <br /> <br />一:分析Ace库定时器实现方式<br /> 1.Ace种定时器实现有4种,这里不具体介绍实现细节,主要介绍实现数据结构,性能。<br /> 具体的4种定时器都是从ACE_Timer_Queue_T继承,每种定时器用不同的数据结构来实转载 2010-09-02 18:00:00 · 1428 阅读 · 0 评论 -
VOA慢速英语练听力需坚持
<br />扫除词汇障碍 <br /><br />作为语言构成的基本要素,词汇所导致的听力障碍在诸多英语学习者当中可谓 是屡见不鲜。在听力训练开始前,扫除那些因词汇而导致的听力障碍可谓是势在必行。所以要首先解决生词问题。 <br /><br />虽然慢速英语所采用的词汇相对较少,句型也比较简单,但还是有许多人听不 懂,原因在于:其一,有些单词你觉得比较熟悉,但在听的时候就是反应不过来或 者反应太慢。其二,文章中另外存在着几类学习者不熟悉的词汇,比如说一些专有名词(包括地名、人名、机构名和专业领域词汇等,如:转载 2010-11-07 20:59:00 · 1082 阅读 · 0 评论 -
英语听力的训练方法
<br />一. 听说训练中应注意几个问题 <br />一般英语学习者,在全面提高英语的前提下,要提高听、说能力,应首先注意以下三点: <br />1.注意区分和模仿正确的语音、语调 <br />在英语里有不少读音相近,但意思却截然不同的词汇,象cure[kjue](医愈)和 kill[kill](杀死),menu(菜单)和manure(肥料)等。设想如果有一个医生想说:"I'll cure you."(我要治好你的病。)却因发音不好,说成:"I'll kill you."(我要杀死你。)那病人会吓成什么样转载 2010-11-07 21:00:00 · 1542 阅读 · 0 评论 -
erlang应用
<br />考虑到现有的项目使用erlang重写的复杂性和erlang对于某些数据库支持的弱点,想结合erlang的分布式、代码热加载、处理高并发方面的优势,和C++在性能上以及大量现有项目上的优势,实现集群部署。<br /><br />考察了erlang和C进行交互的几种方式,ports受限于物理服务器分布,port_driver没测试成功,应该也是受限于本机,最后选定C nodes方式。<br /><br />测试了c server和c client两种方式,感觉如果是server方式,还得用C写一套处转载 2011-03-19 23:47:00 · 1479 阅读 · 0 评论 -
Erlang简介
<br />Erlang的介绍比较散,又都很简单,所以多找点汇总一下:<br /><br />----------------------------------------------<br />我的印象:<br /><br />Erlang是一门FP语言,通常FP语言都不是OO语言,语法和prolog有些象,大量使用pattern match来简化编程,使用伪进程简化并发处理,也有拿它做AI的。一个简单的例子,从socket接收一个数据包,包括一个int字段,一个short字段,如何封/解包?Erlan转载 2011-03-19 23:47:00 · 1816 阅读 · 0 评论 -
erlang分布式节点通讯方式
<br />http://coderplay.javaeye.com/blog/94209<br /><br />早看到这个就好了,我也是用strace发现它用的是poll,顺便搞清楚了erlang的分布式节点通讯方式。<br /><br />erlang分布式节点通讯,A节点连接B节点,如果在同一机器上,只需要进程间通讯就可以找到节点。不在同一台机器上,A先连接B所在机器的4369端口,寻找节点。如果找到,就通知B节点监听一个端口,再回复A让它连接这个端口。<br /><br />监听4369端口的是个后转载 2011-03-19 23:49:00 · 5132 阅读 · 0 评论 -
轻量级线程和erlang
<br />线程通常用来执行并行计算,为大量阻塞操作增加并发度。在线程数大于CPU数时,线程会有额外的调度开销,所以线程数太多反而会使计算性能下降。计算机执行计算任务时,通常还需要与各种IO设备交互,这些设备和CPU、内存比起来慢几个数量级,一些任务还需要串行地使用这些设备,这时候使用多线程就可以有效利用这些设备资源。<br /><br />除了创建大量线程以外,还可以使用异步IO来完成同样的功能。异步IO原理上很简单,用户线程某一刻发起一个请求(对于IO来说通常只有读和写2种),在IO设备准备好的时候会回转载 2011-03-19 23:49:00 · 4484 阅读 · 2 评论 -
欢迎来到Ubuntu部落
转载:http://www.csplace.cn/Examples/ubuntu.htm欢迎来到Ubuntu部落Ubuntu的发音Ubuntu的涵义Ubuntu当前版本Ubuntu的特点Ubuntu相对其它Linux发行版的主要特点基本操作进入系统命令转载 2011-08-01 17:31:49 · 1350 阅读 · 0 评论 -
** WARNING ** Mnesia is overloaded: {dump_log, write_threshold}
转载:http://www.cnblogs.com/gordonchao/archive/2010/12/13/1904606.html现象:查看页面,发现数据出现异常,今天生成数据比平常水平偏低好多,不大正常原因查找:查看日志文件,发现有出现了几个这样的警告:** WARNING ** Mnesia is overloaded: {dump_log, write_thresh转载 2011-11-05 18:42:21 · 3652 阅读 · 0 评论 -
P2P之NAT类型检测方法
<br />P2P的NAT研究 <br />第一部分:NAT介绍 <br />第二部分:NAT类型检测 <br />第一部分: NAT介绍 <br />各种不同类型的NAT(according to RFC)<br />Full Cone NAT: <br />内网主机建立一个UDP socket(LocalIP:LocalPort) 第一次使用这个socket给外部主机发送数据时NAT会给其分配一个公网(PublicIP:PublicPort),以后用这个socket向外面任何主机发送数据都将使用这对(P转载 2010-10-31 22:16:00 · 1282 阅读 · 0 评论 -
NAT分类介绍及其打洞的思考
<br />UDP"打洞"原理 <br />1. NAT分类 <br />根据Stun协议(RFC3489),NAT大致分为下面四类 <br />1) Full Cone <br />这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口.然后外网的任何发到这个打开的端口的UDP数据报都可以到达A.不管是不是C发过来的. <br />例如 A:192.168.8.100 NAT:202.100.100.100 C:292.88.88.88 <br />A(192.168.8.100:5000) ->转载 2010-10-31 22:22:00 · 2108 阅读 · 0 评论 -
由http暗藏通道探讨开
<br />由http后门探讨开<br /><br />什么是局域网安全,系统管理员怎样才能保障局域网的安全?这是一个不断变化的安全概念,很长的一个时期以来,在局域网与外界互联处放置一个防火墙,严格控制开放的端口,就能在很大程度上掌握安全的主动权,方便的控制网内外用户所能使用的服务。比如,在防火墙上仅仅开放80,53两个端口,那么无论是内部还是外面的恶意人士都将无法使用一些已经证明比较危险的服务。<br />但要注意一点,防火墙在某种意义上是很愚蠢的,管理员对防火墙的过分依赖以及从而产生的懈怠情绪将不可避免原创 2010-10-18 18:02:00 · 1696 阅读 · 0 评论 -
so库的性能注意事项
<br />一个共享库可供同一系统中的多个应用程序使用。共享库的性能会影响使用此共享库的应用程序,并且会影响整个系统。<br />虽然共享库中的代码会直接影响运行进程的性能,但此处讨论的性能问题则涉及共享库的运行时处理。本节通过考虑各个方面(如文本大小和纯度)以及重定位开销,更详细地介绍了这种处理。<br />分析文件<br />有多种工具可用来分析 ELF 文件的内容。要显示文件的大小,请使用 size(1) 命令。<br /> <br />$ size -x libfoo.so.1<br />59c +转载 2010-09-07 17:50:00 · 2188 阅读 · 0 评论 -
cassandra
<br />Cassandra <br /> 计算机方面 <br /> Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了转载 2010-09-16 19:12:00 · 770 阅读 · 0 评论 -
moosefs
<br />MooseFS文件系统介绍 MooseFS是一种分布式文件系统,MooseFS文件系统结构包括以下四种角色: <br /> 1 管理服务器managing server (master) <br /> 2 元数据日志服务器Metalogger server(Metalogger) <br /> 3 数据存储服务器data servers (chunkservers) <br /> 4 客户机挂载使用client computers <br /> <br />飞客数据恢复中心提供<br转载 2010-09-16 19:17:00 · 960 阅读 · 0 评论 -
Linux 文件系统中元数据使用计数的机制
在 Linux 文件系统中,元数据的引用计数主要用于管理元数据(如 inode, dentry 结构)在内存中的创建、使用和释放。了解这部分的机制,有利于深入认识文件系统的运行机制,以及Linux如何在内存中管理元数据。这部分内容也是构建分布式文件系统所必须的知识,由此才能保证元数据在分布式文件系统中的正确使用。<br />概述<br />元数据是一个文件系统的重要部分。很多书籍和文章都介绍过 dentry 和 inode 在 Linux 中的作用和机制,但却很少有文献涉及到它们的使用计数( usage c转载 2010-09-08 22:01:00 · 1451 阅读 · 0 评论 -
如何成为一个Linux内核开发者(经典)
<br />这篇文章将是这个话题的最权威的文档。它将教你如何成为一个Linux内核开发者以及学会如何和Linux内核社区一起工作。它不包含任何有关内核编程的技术细节,但是会帮你在这方面指明方向。<br />如果这篇文档里任何部分已经过时,请把更新信息以补丁的形式发送给本文的维护者,他的联系方式列在本文档的末尾。<br />介绍<br />好了,你想成知道如何成为一个Linux内核开发者么?或者你的老板告诉你,“去为这个设备写一个Linux驱动。“这篇文档的目的,就是通过描述你需要经历的过程和提示你如何和社区转载 2010-09-28 15:53:00 · 11781 阅读 · 2 评论 -
Poco::TCPServer框架解析
Poco::TCPServer框架解析<br />POCO C++ Libraries提供一套 C++ 的类库用以开发基于网络的可移植的应用程序,功能涉及线程、文件、流,网络协议包括:HTTP、FTP、SMTP 等,还提供 XML 的解析和 SQL 数据库的访问接口。不仅给我的工作带来极大的便利,而且设计巧妙,代码易读,注释丰富,也是非常好的学习材料,我个人非常喜欢。POCO的创始人在这个开源项目的基础上做了一些收费产品,也成立了自己的公司,"I am in the lucky position to wo转载 2010-09-29 13:46:00 · 4808 阅读 · 0 评论