<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://feeds.qzone.qq.com/rss.xsl" version="1.0"?>
<rss version="2.0" xmlns:qz="http://qzone.qq.com">
<channel>
<title><![CDATA[╄→壞↙小子]]></title>
<description><![CDATA[﹎煙烣﹖ ﹖]]></description>
<link>http://379543455.qzone.qq.com</link>
<lastBuildDate>Sun, 29 Nov 2009 07:50:24 GMT</lastBuildDate>
<generator>Qzone</generator>
<language>zh-cn</language>
<copyright>Copyright (C), 2005-2008, Tencent Tech. Co., Ltd.</copyright>
<pubDate>Sun, 30 Aug 2009 05:32:34 GMT</pubDate>

<item>
<title><![CDATA[进制转换_汇编]]></title>
<link>http://379543455.qzone.qq.com/blog/1251610354</link>
<description><![CDATA[16进制      10进制        8进制             2进制<br>    0               0                  0                  0000<br>    1               1                 1                   0001<br>    2               2                 2                   0010<br>    3               3                 3                   0011<br>    4               4                 4                   0100<br>    5               5                 5                   0101<br>    6               6                 6                   0110<br>    7               7                 7                   0111<br>    8               8                 10                 1000<br>    9               9                 11                 1001<br>    A              10               12                 1010<br>    B              11               13                 1011<br>    C             12                14                 1100<br>    D             13                15                 1011<br>    E             14                16                  1110<br>    F             15                 17                 1111 <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[379543455@qq.com(╄→壞↙小子)]]></author>
<comments>http://379543455.qzone.qq.com/blog/1251610354#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sun, 30 Aug 2009 05:32:34 GMT</pubDate>
<guid>http://379543455.qzone.qq.com/blog/1251610354</guid>
</item>

<item>
<title><![CDATA[网络_协议分析及解释]]></title>
<link>http://379543455.qzone.qq.com/blog/1245638738</link>
<description><![CDATA[<span style="line-height:1.8em;">ACK(ACKnowledgment)TCP首部中的确认标志 <br>API(ApplicationProgrammingInterface)应用编程接口 <br>ARP(AddressResolutionProtocol)地址解析协议 <br>ARPANET(DefenseAdvancedResearchProjectAgencyNETwork)(美国)国防部远景研究规划局 <br>AS(AutonomousSystem)自治系统 <br>ASCII(AmericanStandardCodeforInformationInterchange)美国信息交换标准码 <br>ASN.1(AbstractSyntaxNotationOne)抽象语法记法1 <br>BER(BasicEncodingRule)基本编码规则 <br>BGP(BorderGatewayProtocol)边界网关协议 <br>BIND(BerkeleyInternetNameDomain)伯克利Internet域名 <br>BOOTP(BOOTstrapProtocol)引导程序协议 <br>BPF(BSDPacketFilter)BSD分组过滤器 <br>CIDR(ClasslessInterDomainRouting)无类型域间选路 <br>CIX(CommercialInternetExchange)商业互联网交换 <br>CLNP(ConnectionLessNetworkProtocol)无连接网络协议 <br>CRC(CyclicRedundancyCheck)循环冗余检验 <br>CSLIP(CompressedSLIP)压缩的SLIP <br>CSMA(CarrierSenseMultipleAccess)载波侦听多路存取 <br>DCE(DataCircuit-terminatingEquipment)数据电路端接设备 <br>DDN(DefenseDataNetwork)国防数据网 <br>DF(Don’tFragment)IP首部中的不分片标志 <br><br>DHCP(DynamicHostConfigurationProtocol)动态主机配置协议 <br>DLPI(DataLinkProviderInterface)数据链路提供者接口 <br>DNS(DomainNameSystem)域名系统 <br>DSAP(DestinationServiceAccessPoint)目的服务访问点 <br>DSLAM(DSLAccessMultiplexer)数字用户线接入复用器 <br>DSSS(DirectSequenceSpreadSpectrum)直接序列扩频 <br>DTS(DistributedTimeService)分布式时间服务 <br>DVMRP(DistanceVectorMulticastRoutingProtocol)距离向量多播选路协议 <br>EBONE(EuropeanIPBackbONE)欧洲IP主干网 <br>EOL(EndofOptionList)选项清单结束 <br>EGP(ExternalGatewayProtocol)外部网关协议 <br>EIA(ElectronicIndustriesAssociation)美国电子工业协会 <br>FCS(FrameCheckSequence)帧检验序列 <br>FDDI(FiberDistributedDataInterface)光纤分布式数据接口 <br>FIFO(FirstIn,FirstOut)先进先出 <br>FIN(FINish)TCP首部中的结束标志 <br>FQDN(FullQualifiedDomainName)完全合格的域名 <br>FTP(FileTransferProtocol)文件传送协议 <br>HDLC(High-levelDataLinkControl)高级数据链路控制 <br>HELLO选路协议 <br>IAB(InternetArchitectureBoard)Internet体系结构委员会 <br>IANA(InternetAssignedNumbersAuthority)Internet号分配机构 <br>ICMP(InternetControlMessageProtocol)Internet控制报文协议 <br><br>IDRP(InterDomainRoutingProtocol)域间选路协议 <br>IEEE(InstituteofElectricalandElectronicsEngineering)（美国）电气与电子工程师协会 <br>IEN(InternetExperimentNotes)互联网试验注释 <br>IESG(InternetEngineeringSteeringGroup)Internet工程指导小组 <br>IETF(InternetEngineeringTaskForce)Internet工程专门小组 <br>IGMP(InternetGroupManagementProtocol)Internet组管理协议 <br>IGP(InteriorGatewayProtocol)内部网关协议 <br>IMAP(InternetMessageAccessProtocol)Internet报文存取协议 <br>IP(InternetProtocol)网际协议 <br>IRTF(InternetResearchTaskForce)Internet研究专门小组 <br>IS-IS(IntermediateSystemtoIntermediateSystemProtocol)中间系统到中间系统协议 <br>ISN(InitialSequenceNumber)初始序号 <br>ISO(InternationalOrganizationforStandardization)国际标准化组织 <br>ISOC(InternetSOCiety)Internet协会 <br>LAN(LocalAreaNetwork)局域网 <br>LBX(LowBandwidthX)低带宽X <br>LCP(LinkControlProtocol)链路控制协议 <br>LFN(LongFatNet)长肥网络 <br>LIFO(LastIn,FirstOut)后进先出 <br>LLC(LogicalLinkControl)逻辑链路控制 <br>LSRR(LooseSourceandRecordRoute)宽松的源站及记录路由 <br>MBONE(MulticastBackboneOntheInterNEt)Internet上的多播主干网 <br>MIB(ManagementInformationBase)管理信息库 <br>MILNET(MILitaryNETwork)军用网 <br>MIME(MultipurposeInternetMailExtensions)通用Internet邮件扩充 <br>MSL(MaximumSegmentLifetime)报文段最大生存时间 <br>MSS(MaximumSegmentSize)最大报文段长度 <br>MTA(MessageTransferAgent)报文传送代理 <br>MTU(MaximumTransmissionUnit)最大传输单元 <br>NCP(NetworkControlProtocol)网络控制协议 <br>NFS(NetworkFileSystem)网络文件系统 <br>NIC(NetworkInformationCenter)网络信息中心 <br>NIT(NetworkInterfaceTap)网络接口栓（Sun公司的一个程序） <br>NNTP(NetworkNewsTransferProtocol)网络新闻传送协议 <br>NOAO(NationalOpticalAstronomyObservatories)国家光学天文台 <br>NOP(NoOperation)无操作 <br>NSFNET(NationalScienceFoundationNETwork)国家科学基金网络 <br>NSI(NASAScienceInternet)（美国）国家宇航局Internet <br>NTP(NetworkTimeProtocol)网络时间协议 <br>NVT(NetworkVirtualTerminal)网络虚拟终端 <br>OSF(OpenSoftwareFoudation)开放<span style="text-decoration:underline;"><wbr /><span style="color:#0000ff;font-size:24px;line-height:1.8em;">软件</span><wbr /></span><wbr />基金 <br>OSI(OpenSystemsInterconnection)开放系统互连 <br>OSPF(OpenShortestPathFirst)开放最短通路优先 <br>PAWS(ProtectionAgainstWrappedSequencenumber)防止回绕的序号 <br>PDU(ProtocolDataUnit)协议数据单元 <br>POSIX(PortableOperatingSystemInterface)可移植操作系统接口 <br>PPP(Point-to-PointProtocol)点对点协议 <br>PSH(PuSH)TCP首部中的急迫标志 <br>RARP(ReverseAddressResolutionProtocol)逆地址解析协议 <br>RFC(RequestForComments)Internet的文档，其中的少部分成为标准文档 <br>RIP(RoutingInformationProtocol)路由信息协议 <br>RPC(RemoteProcedureCall)远程过程调用 <br>RR(ResourceRecord)资源记录 <br>RST(ReSeT)TCP首部中的复位标志 <br>RTO(RetransmissionTimeOut)重传超时 <br>RTT(Round-TripTime)往返时间 <br>SACK(SelectiveACKnowledgment)有选择的确认 <br>SLIP(SerialLineInternetProtocol)串行线路Internet协议 <br>SMI(StructureofManagementInformation)管理信息结构 <br>SMTP(SimpleMailTransferProtocol)简单邮件传送协议 <br>SNMP(SimpleNetworkManagementProtocol)简单网络管理协议 <br>SSAP(SourceServiceAccessPoint)源服务访问点 <br>SSRR(StrictSourceandRecordRoute)严格的源站及记录路由 <br>SWS(SillyWindowSyndrome)糊涂窗口综合症 <br>SYN(SYNchronous)TCP首部中的同步序号标志 <br>TCP(TransmissionControlProtocol)传输控制协议 <br>TFTP(TrivialFileTransferProtocol)简单文件传送协议 <br><br>TLI(TransportLayerInterface)运输层接口 <br>TTL(Time-To-Live)生存时间或寿命 <br>TUBA(TCPandUDPwithBiggerAddresses)具有更长地址的TCP和UDP <br>Telnet远程终端协议 <br>UA(UserAgent)用户代理 <br>UDP(UserDatagramProtocol)用户数据报协议 <br>URG(URGent)TCP首部中的紧急指针标志 <br>UTC(CoordinatedUniversalTime)协调的统一时间 <br>UUCP(Unix-to-UnixCoPy)Unix到Unix的复制 <br>WAN(WideAreaNetwork)广域网 <br>WWW(WorldWideWeb)万维网 <br>XDR(eXternalDataRepresentation)外部数据表示 <br>XID(transactionID)事务标识符 <br>XTI(X/OpenTransportLayerInterface)X/Open运输层接口</span><wbr /> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[379543455@qq.com(╄→壞↙小子)]]></author>
<comments>http://379543455.qzone.qq.com/blog/1245638738#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Mon, 22 Jun 2009 02:45:38 GMT</pubDate>
<guid>http://379543455.qzone.qq.com/blog/1245638738</guid>
</item>

<item>
<title><![CDATA[谈_中国的企业家_]]></title>
<link>http://379543455.qzone.qq.com/blog/1244907971</link>
<description><![CDATA[<span style="font-weight:bold"><wbr />1.茫然之一：就知道赚钱<br></span><wbr />　　中国人有个毛病——就知道赚钱，而且为了这个目标可以不择手段。比如面对毒奶粉事件，你一夜之间发现之前那些“每天一斤奶，强壮中国人”的广告全是骗人的！事实上，中国对各种食品的检验频率和密度，要比美国、澳大利亚、新西兰高多了，因为这种事情在中国以外的几乎任何国家，都是不可想象的！同样不可想象的还有黑煤窑事件，等等，你看来看去发现只能有一个解释，就是中国的企业家根本没有道德约束，这些人只知道赚钱。<br><br>　　你有没有在思考如何活过明天之余，想想为什么要活到明天呢？赚钱？你不用跟郎教授腼腆，这点是大家都知道却都不好意思挑明的——整日奔波其实不就是为了多赚点儿钱吗？很可能此刻翻读着这本书的你，也是要从这本书里琢磨一些赚钱的点子。那么，赚钱又是为了什么？留给下一代吗？那么，如果政府要取消遗产税，你会不会因而欢欣雀跃？巧了，美国总统小布什曾经就打算这么干，你觉得美国富豪当时是不是也像你一样高兴呢？<br><br>　　有趣的是，美国竟然有120名富翁联名登广告，反对政府取消遗产税。其中包括比尔?盖茨的父亲老威廉、沃伦?巴菲特、索罗斯、石油巨头洛克菲勒等。这些美国巨富的行为背后，到底埋藏着怎样的社会文化基因呢？我们中国人对于西方历史，基本概念就是稀里糊涂的，而且我们中华民族是个最不喜欢读书的民族，更遑论研读西方历史了。我们完全不想从根部寻找比尔?盖茨等人的这种思想是从何处而来。我可以告诉各位，他们这种思想的根源，就来自于1000年前“上帝”的企业这样的历史传承，因为西方的第一个股份有限公司就是教会企业。所以一开始教会企业的伦理道德和社会责任感就是随着股份有限公司的成长而成长，那就是职业经理人要发挥对上帝的信托责任，替整个社会和上帝所爱的子民创造财富，这是他们想的事。你可能认为这是大话或者神话，但你知道为什么吗？因为我们都不是这么教育我们老百姓的。我们中国的企业家都是什么心态呢——强烈的家国情怀、对超速成长的渴求、隐藏于内心的不安全感和对官商文化的膜拜！所以，我们实在应该感谢危机，只有危机到来，我们才会冷静下来，想想自己内心深处最根本的动机和心态是不是出了什么问题！本书第三章就是帮我们检讨，除了赚钱，企业还应该做什么。<br><br><span style="font-weight:bold"><wbr />　　2.茫然之二：不了解世界</span><wbr /><br><br>　　看完我上面这段对西方企业家的介绍，你可能心里不禁就在想：这是我之前听说的那个西方资本主义社会吗？中华文化的悲哀也就在此，我们一说中华文化，你首先想到的是什么？长江长城，黄山黄河是吧？这些是什么？这些都是我们的文化自我封闭的象征，五千年来八千里河山都是这样！所以，作为一个土生土长的中国人，你永远无法理解欧洲人怎么看我们，美国人怎么看我们，你也没法理解欧洲人为什么对西藏问题总有不同的看法，更不理解为什么西方对中国的态度会在汶川大地震之后来了个大转弯。这多可悲啊！你根本不知道别人怎么看你，人家对你的好感、对你的恐惧，你通通都不明白。<br><br>　　同样都是看奥运，你会发现中国人对奥运的认知和期待是与外国人非常不同的！所谓的奥运，到最后我们把它理解成了一个国力的象征，甚至变成了追求奖牌数的第一。我们不了解西方，西方也不理解我们。这种彼此认知的隔阂造成非常多的矛盾。我认为奥运的重大意义就在于双方的接触。可是我告诉各位，我看到很多讲奥运的电影都有一个问题，流于说教，我们又开始教训人了，要端坐，不要随地吐痰，展现出大国风范，其实这是不对的，这不是奥运的精神。而且我们对奥运投注的心力太大，还把办好奥运与国家荣辱联系起来，这是多么沉重的负担。这一切都是因为我们误解了奥运的精神。<br><br>　　你要真正让西方理解中国，就必须要理解西方。奥运不一定要到处展示火炬传递，而应该把奥运的精神挖出来。这就是展现力与美的平台，而且是公平竞争的平台。这句话可以收拢所有西方人的心，因为他们流的奥运的血不是国家荣辱，而是力与美的公平竞赛。这正是我在本书第四章和第五章要谈的重点。<br><br>　　中国是世界上少数几个存活至今的古老国家之一。这个民族，不会因为外在的危难而一哄而散，它一碰到外在的灾难，就会集体整合、凝聚在一起。就像十把筷子聚在一起你折不断，而一只筷子很容易折断一样，中国人的这种变化无常让外国人感到很难理解。我敢肯定，我在本书第六章里提到的奥运中的大小事情你一定觉得见怪不怪，可是，外国人从这些小事情中却会做出截然不同的判断，因而认为我们是自私、冷酷的。而且我们这个有着13亿人口的中国在外人眼中又是那么大，所以他们对我们的感觉肯定是负面的，再加上我们的文化艺术，包括《卧虎藏龙》和《孙子兵法》中所展现出来的“术”，更让外国人感到不寒而栗，因此才有兰德公司对中国的负面报告。所以，第六章会带你从美国人的视角来看我们中华文化的特殊之处，带你理解为什么美国人对中国总有一种很矛盾的心理。<br><br>　<span style="font-weight:bold"><wbr />　3.茫然之三：不知道别人是怎么看自己的</span><wbr /><br><br>　　我们自我封闭的文化让我们很少愿意去主动了解西方，消除误会；更可悲的是，我们的文化里还有浮躁的劣根性，由此导致这样为数不多的主动了解也都太过表面,我们从来不愿意主动从人家的历史和文化深处去理解他们为什么会有这种观点。<br><br>　　举例而言，我们看到西方国家包括德国和法国对中国的西藏问题横加指责，我们当然应该激烈抗议，但是我们激烈反应的效果并不理想，因为我们的抗议没有打到重点。其真实的原因就是，德国人因为受到血统论的影响，他们认为西藏人是他们失落的兄弟，而且这个可笑的血统论经过一部电影《失落的地平线》一渲染，竟然在西方各国形成一个不可磨灭的印象，甚至把西藏描绘成了如同世外仙境般的桃花源，这就形成了所谓的西藏情结，这一点是我们过去所理解不到的。也就是因为这个原因，所以西藏所谓的活佛转世，在我们听起来有点神话，但是西方通过《失落的地平线》这类文学艺术的传播，对这种事情特别迷恋，这些细节我们留在本书第七章里再仔细谈。<br><br>　　在这种背景下，我们说我们要和平崛起——都已经够大还要崛起——就会加剧西方的担忧。而且只要把我们这个大块头和西藏对比，你就可以想象到为什么西方人会对西藏产生同情。因为在西方人的心目中，我们是这样一个冷酷无情的大块头，而西藏多么弱小，由此一来，他们的西藏情结立刻发酵。<br><br>　　但是这一切的误解，这一切的情结，竟然随着汶川大地震的发生，而消弥于无形。全世界竟然发现，中华文化是一个富有同情心的文化，而中华民族竟然是一个富有同情心、一个心怀大爱的民族。所以这才有了CNN批判中国的态度转变，所以奥运会办起来比较顺利了，西藏问题就不这么尖锐了，这些是我在本书第八章里要讲的。<br><br>　　<span style="font-weight:bold"><wbr />4.茫然之四：不清楚自己的弱点</span><wbr /><br><br>　　其实外国人比我们自己还了解中华文化，电影《功夫熊猫》就是一个很好的例子。这部电影所以获得这么多影评家的好评，原因是它的角色刻画深刻地反映了我们中华文化的本质。美国的智库——兰德公司对于中国人人性的分析结果，完全呈现在这部电影里面。你会忽然发现，西方人比我们自己还了解我们的文化，还有什么比这更可悲的吗？我们的文化极度缺少一种自我检视的元素，我们非但不了解自己，也从来都懒得去自揭伤疤，在反省自己文化的不足之处时，我们对不好的地方避而不谈，对惨痛的记忆选择回避和忘记。<br><br>　　《功夫熊猫》这整部电影讲的就是一个为了武功秘笈而背叛师门的豹子大龙，而主角就是不小心进入了师门而被安排来对付大龙的熊猫阿宝。美国人在电影里通过大龙一针见血地指出：<br>　　第一，中国人就是自私的和冷酷的。大龙只想到自己，根本就不顾念养育他从小到大的浣熊师父，因为中国人就是自私冷酷的。<br>　　第二，中国人从来不在乎别人的，中国人认为生活的目的就是抬高自己，从而获得别人的认知。大龙一定要取得武功秘笈，因为大龙跟师父学习了那么久，只有拿到武功秘笈才能成为全天下最厉害的人，才能得到全天下人的认知。爱面子使得中国人与生俱来就有这种自私和无情的特性。所以大龙把师父痛打一顿，当他要把师父掐死那一刹那，竟然跟师父说了这么一句话——当初你训练我的时候不就希望我能拿到武功秘笈吗，否则我干吗吃这个苦？现在你竟然不给我，我要掐死你！<br>　　而这部电影通过熊猫也一针见血地指出：<br>　　第一，中国人没有优雅的举止，也没什么礼貌。这个电影讲的就是熊猫的故事，一个没读过书、靠卖面条为生的熊猫，粗鲁的不得了，没有优雅的举止，也没什么礼貌。<br>　　第二，中国人总是梦想着奇迹，因为我们不愿意付出努力，我们总想不劳而获。你看看熊猫在电影里面干了什么事？叫他练功，他吃不起苦，练得不好。叫他吃饼干，尤其是偷别人的饼干，他就很有兴趣。师父一看，他为了偷饼干吃，居然能够爬到墙上去，两条腿可以分得很开。平常练功是分不开的，偷东西的时候就可以分得开。而且偷饼干吃一偷一个准，干得特别好。你叫他努力练习他不肯，你叫他投机取巧偷饼干，他特有兴趣，因为熊猫总是想不劳而获。<br>　　第三，中国人老想走捷径。我相信这句话应该是没有错的。你们知道熊猫怎么练功吗？在电影里面，熊猫练功是非常懒惰的，他非常不喜欢去练功，因为他认为练也没有什么用。他想偷懒，于是师父为了让他练功，就不断给他包子吃。后来就通过两个人抢包子这个办法，让他练就了一身敏捷的好功夫。你叫他去蹲马步，一步一个脚印地干，他没兴趣，抢包子他有兴趣。为什么？这是走捷径。<br>　　第四，中国人从来没有勇气追求他们认为正确的事情，执行力特别差。师父叫熊猫练功，练了一半，他半夜开溜了，不干了。他为什么不干呢？因为他想练功的目的就是为了对付大龙，而大龙太可怕了，他怎么可能会是大龙的对手呢？虽然从道理上来讲，他已经进入这个师门了，师父也收他做徒弟了，他就应该把功夫练好，按照当初所签的合同或者是协议，去把大龙打败。可是不，他干了什么事情呢，半夜溜之大吉。<br>　　电影中的豹子大龙和熊猫阿宝，本身就代表着中国。但是话又说回来，大龙和阿宝本身所学习的各种技能、武术，是不是我们各种电影文化给西方各国的观点呢？所以我告诉大家，这部电影本身就是西方人对我们中国人看法的一个缩影，所以这样一个嘻嘻哈哈的熊猫形象，其实恰恰是中华文化和中国人性格深处莫大的悲哀。而我们看完这样一部电影之后呢，不但缺少一种自觉的自我检省，反而跟着这只熊猫一起嘻嘻哈哈的，这不正是中华文化的可悲之处吗？这些是我在本书第九章中要讲的内容。<br> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[379543455@qq.com(╄→壞↙小子)]]></author>
<comments>http://379543455.qzone.qq.com/blog/1244907971#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sat, 13 Jun 2009 15:46:11 GMT</pubDate>
<guid>http://379543455.qzone.qq.com/blog/1244907971</guid>
</item>

<item>
<title><![CDATA[VB_随机抽奖系统_]]></title>
<link>http://379543455.qzone.qq.com/blog/1243672884</link>
<description><![CDATA[Private Const AllData = 36 '总数为36 <br><br>    Private Const Choose = 7 '要选出的数为7个 <br><br>    Dim Num(Choose - 1) As Byte '数组用来存放选出的数 <br>   Private Sub Command1_Click() '产生随机数 <br><br>    Dim i, j, RndData <br><br>    For j = 0 To 4 '产生5组数据 <br><br>      For i = 1 To AllData <br><br>        List1.AddItem i <br><br>      Next i <br><br>      For i = 0 To Choose - 1 <br><br>        Randomize '初始化随机数的种子数 <br><br>        RndData = Int(((AllData - i) * Rnd) + 1) <br>        Num(q) = List1.List(RndData - 1) <br>        Num(i) = List1.List(RndData - 1) <br>     <br>        List1.RemoveItem (RndData - 1) <br><br>      Next i <br><br>      PopSort '调用冒泡排序 <br>      Text1 = &quot; &quot; <br>      Text2 = &quot; &quot; <br>      Text3 = &quot; &quot; <br>      Text4 = &quot; &quot; <br>      Text5 = &quot; &quot; <br><br>      For i = 0 To Choose - 1 <br><br>        If Num(i) &lt; 10 Then <br>          Text1 = Text1 &amp; &quot;2&quot; &amp; Num(q) &amp; &quot; &quot; '小于10的数在前面补“0” <br>          Text2 = Text2 &amp; &quot;0&quot; &amp; Num(i) &amp; &quot; &quot; '小于10的数在前面补“0” <br>          Text3 = Text3 &amp; &quot;8&quot; &amp; Num(q) &amp; &quot; &quot; '小于10的数在前面补“0” <br>          Text4 = Text4 &amp; &quot;6&quot; &amp; Num(q) &amp; &quot; &quot; '小于10的数在前面补“0” <br>          Text5 = Text5 &amp; &quot;5&quot; &amp; Num(q) &amp; &quot; &quot; '小于10的数在前面补“0” <br><br>        Else <br>          Text1 = Text1 &amp; Num(i) &amp; &quot; &quot; <br>          Text2 = Text2 &amp; Num(i) &amp; &quot; &quot; <br>          Text3 = Text3 &amp; Num(i) &amp; &quot; &quot; <br>          Text4 = Text4 &amp; Num(i) &amp; &quot; &quot; <br>          Text5 = Text5 &amp; Num(i) &amp; &quot; &quot; <br><br>        End If <br><br>      Next i <br><br>      List1.Clear '清除总数容器 <br><br>    Next j <br><br>    End Sub <br>     <br>     <br><br>    Sub PopSort() '冒泡排序 <br><br>        Dim i, j, Temp As Byte <br><br>        For i = Choose - 1 To 1 Step -1 <br><br>          For j = Choose - 1 To 1 Step -1 <br><br>            If i &gt;= Choose - 1 - j Then <br><br>              If Num(j) &lt; Num(j - 1) Then <br><br>                  Temp = Num(j - 1) <br><br>                  Num(j - 1) = Num(j) <br><br>                  Num(j) = Temp <br><br>              End If <br><br>            End If <br><br>          Next j <br><br>        Next i <br><br>      End Sub <br>       <br><br>Private Sub Command2_Click() <br>End <br>End Sub <br><wbr /><a href="http://b19.photo.store.qq.com/http_imgload.cgi?/rurl4_b=8c7086425b43151da0df4ea63af21c86fcdf6e39812643100bf5f28503865ac79ddd790a3fca8b639d34a3925993e9ca54cf65bbcfcb77d36a5f79b3305939d18a48609cda51e0d5b3ed48cc9bf9bbf31f8e068d" target="_blank"><img style="border:0;" src="http://b19.photo.store.qq.com/http_imgload.cgi?/rurl4_b=8c7086425b43151da0df4ea63af21c86fcdf6e39812643100bf5f28503865ac79ddd790a3fca8b639d34a3925993e9ca54cf65bbcfcb77d36a5f79b3305939d18a48609cda51e0d5b3ed48cc9bf9bbf31f8e068d" /></a><wbr /><br><br> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[379543455@qq.com(╄→壞↙小子)]]></author>
<comments>http://379543455.qzone.qq.com/blog/1243672884#comment</comments>
<qz:effect>134218241</qz:effect>
<pubDate>Sat, 30 May 2009 08:41:24 GMT</pubDate>
<guid>http://379543455.qzone.qq.com/blog/1243672884</guid>
</item>

<item>
<title><![CDATA[_VB_ 代码_挂 （二）]]></title>
<link>http://379543455.qzone.qq.com/blog/1243141069</link>
<description><![CDATA[Private Sub Timer1_Timer()<br>    Dim h As Long<br>    Dim colr1 As Long '不出1颜色<br>    Dim colr2 As Long '不出1颜色<br>    Dim colr3 As Long '完成颜色<br>    Dim colr4 As Long<br>    Dim colr5 As Long<br>    Dim colr9 As Long '不叫1颜色<br>    Dim colr10 As Long '不叫颜色<br>    Dim colr11 As Long '3分颜色<br>    <br>    Dim colr14 As Long '出牌颜色<br>    <br>    <br>    <br>    Dim a1() As String<br>    Dim x1, y1  As String<br>    a1 = Split(Text1.Text, &quot;,&quot;)<br>    x1 = a1(0)<br>    y1 = a1(1)<br>    <br>    Dim a2() As String<br>    Dim x2, y2  As String<br>    a2 = Split(Text2.Text, &quot;,&quot;)<br>    x2 = a2(0)<br>    y2 = a2(1)<br>    <br>    Dim a3() As String<br>    Dim x3, y3  As String<br>    a3 = Split(Text3.Text, &quot;,&quot;)<br>    x3 = a3(0)<br>    y3 = a3(1)<br>    <br>    <br>    <br>    Dim a28() As String '出牌坐标<br>    Dim x28, y28  As String<br>    a28 = Split(Text28.Text, &quot;,&quot;)<br>    x28 = a28(0)<br>    y28 = a28(1)<br>    <br>    Dim a6() As String<br>    Dim x6, y6  As String<br>    a6 = Split(Text6.Text, &quot;,&quot;)<br>    x6 = a6(0)<br>    y6 = a6(1)<br>    <br>    Dim a7() As String<br>    Dim x7, y7  As String<br>    a7 = Split(Text7.Text, &quot;,&quot;)<br>    x7 = a7(0)<br>    y7 = a7(1)<br>    <br>    Dim a8() As String<br>    Dim x8, y8  As String<br>    a8 = Split(Text8.Text, &quot;,&quot;)<br>    x8 = a8(0)<br>    y8 = a8(1)<br>    <br>    Dim a9() As String<br>    Dim x9, y9  As String<br>    a9 = Split(Text9.Text, &quot;,&quot;)<br>    x9 = a9(0)<br>    y9 = a9(1)<br>    <br>    Dim a10() As String<br>    Dim x10, y10  As String<br>    a10 = Split(Text10.Text, &quot;,&quot;)<br>    x10 = a10(0)<br>    y10 = a10(1)<br>    <br>    Dim a11() As String<br>    Dim x11, y11  As String<br>    a11 = Split(Text11.Text, &quot;,&quot;)<br>    x11 = a11(0)<br>    y11 = a11(1)<br>    <br>    Dim a12() As String '托管坐标<br>    Dim x12, y12  As String<br>    a12 = Split(Text12.Text, &quot;,&quot;)<br>    x12 = a12(0)<br>    y12 = a12(1)<br>    <br>    <br>    <br>    <br>    <br>    <br>    h = GetDC(0)<br>    <br>    colr1 = GetPixel(h, x1, y1) '不出1坐标<br>    Dim colra As Long<br>    colra = Text4.Text<br>    <br>    colr2 = GetPixel(h, x2, y2) '不出2坐标<br>    Dim colrb As Long<br>    colrb = Text14.Text<br>    <br>    <br>    colr3 = GetPixel(h, x3, y3) '完成坐标<br>    Dim colrc As Long<br>    colrc = Text15.Text<br>    <br>    colr9 = GetPixel(h, x9, y9) '不叫1坐标<br>    Dim colrd As Long<br>    colrd = Text13.Text<br>    <br>    colr10 = GetPixel(h, x10, y10) '不叫2坐标<br>    Dim colre As Long<br>    colre = Text16.Text<br>    <br>    colr11 = GetPixel(h, x11, y11) '3分坐标<br>    Dim colrf As Long<br>    colrf = Text23.Text<br>    <br>    <br>    <br>    colr14 = GetPixel(h, x28, y28) '出牌颜色坐标<br>    Dim colrcp As Long<br>    colrcp = Text30.Text<br>    <br>    Call zhuatu<br>    <br>    Call jianzimo<br>    <br>    <br>    <br>    ReleaseDC 0, hdc<br>    If colr1 = colra Then '点不出<br>        SetCursorPos x1, y1<br>        mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>        mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>    Else<br>        If colr2 = colrb Then '点不出<br>            SetCursorPos x2, y2<br>            mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>            mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>        Else<br>            If colr3 = colrc Then  '点开始<br>                Sleep 1000<br>                SetCursorPos x6, y6<br>                mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>                mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>                SetCursorPos x7, y7<br>                mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>                mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>                SetCursorPos x8, y8<br>                mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>                mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>                Sleep 1000<br>                SetCursorPos x12, y12 '点托管<br>                mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>                mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>            Else<br>                If colr9 = colrd Then '点不叫<br>                    SetCursorPos x9, y9<br>                    mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>                    mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>                Else<br>                    If colr10 = colre Then '点不叫<br>                        SetCursorPos x10, y10<br>                        mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>                        mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>                    Else<br>                        If colr11 = colrf Then '点叫3分<br>                            SetCursorPos x11, y11<br>                            mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>                            mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>                            Sleep 1000<br>                            SetCursorPos x12, y12 '点取消托管<br>                            mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>                            mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>                        Else<br>                            <br>                            If colr1 = colra Then '点不出1<br>                                Sleep 1000<br>                                SetCursorPos x1, y1 '不出<br>                                mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>                                mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>                            Else<br>                                If colr2 = colrb Then '点不出2<br>                                    SetCursorPos x2, y2 '不出<br>                                    mouse_event MOUSEEVENTF_MOVE, 0, 0, 0, 0<br>                                    mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0, 0, 0, 0<br>                                    <br>                                    Sleep 500<br>                                Else<br>                                <br>                                <br>                                Call bj<br>                                    <br>                             <br>                                End If<br>                            End If<br>                        End If<br>                    End If<br>                End If<br>            End If<br>        End If<br>    End If<br>End Sub<br> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[379543455@qq.com(╄→壞↙小子)]]></author>
<comments>http://379543455.qzone.qq.com/blog/1243141069#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sun, 24 May 2009 04:57:49 GMT</pubDate>
<guid>http://379543455.qzone.qq.com/blog/1243141069</guid>
</item>

<item>
<title><![CDATA[_VB_  代码_挂（一）]]></title>
<link>http://379543455.qzone.qq.com/blog/1243141001</link>
<description><![CDATA[Option Explicit <br><br>Private Declare Function GetCursorPos Lib &quot;user32&quot; (lpPoint As POINTAPI) As Long <br>Private Declare Function GetDC Lib &quot;user32&quot; (ByVal hwnd As Long) As Long <br>Private Declare Function BitBlt Lib &quot;gdi32&quot; (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long <br>Private Declare Function ReleaseDC Lib &quot;user32&quot; (ByVal hwnd As Long, ByVal hdc As Long) As Long <br>Private Declare Function SetCapture Lib &quot;user32&quot; (ByVal hwnd As Long) As Long <br>Private Type POINTAPI <br>    x As Long <br>    y As Long <br>End Type <br>Private Declare Function GetPixel Lib &quot;gdi32&quot; (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long <br>Private Declare Function SetPixel Lib &quot;gdi32&quot; (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long <br>Dim R As Byte <br>Dim G As Byte <br>Dim B As Byte <br>Dim s(20) As String <br>Dim char(15) As String <br>Dim aaa As Long <br>Dim bbb As Byte <br>Dim m(20) As Integer <br>Dim n(20) As Integer <br>Dim num(20) <br>Private Declare Function FindWindow Lib &quot;user32&quot; Alias &quot;FindWindowA&quot; (ByVal lpClassName As String, ByVal lpWindowName As String) As Long <br>Private Declare Function SetWindowPos Lib &quot;user32&quot; (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long <br>Private Declare Function GetLastInputInfo Lib &quot;user32&quot; (plii As LASTINPUTINFO) As Boolean <br>Private Declare Function GetTickCount Lib &quot;kernel32&quot; () As Long <br>Private Type LASTINPUTINFO <br>    cbSize As Long <br>    dwTime As Long <br>End Type <br>Dim bbbb <br>Dim cccc <br>Dim aaaa As LASTINPUTINFO <br><br>Const HWND_TOPMOST = -1 <br>Const SWP_SHOWWINDOW = &amp;H40 <br><br>Private Declare Sub mouse_event Lib &quot;user32&quot; (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) <br>Private Const MOUSEEVENTF_LEFTDOWN = &amp;H2 '  left button down <br>Private Const MOUSEEVENTF_LEFTUP = &amp;H4 '  left button up <br><br><br>Private Declare Function GetWindowDC Lib &quot;user32&quot; (ByVal hwnd As Long) As Long <br>Dim WindowDC As Long, color As Long <br>Dim c1 As Long <br>Const SWP_NOMOVE = &amp;H2 <br>Const SWP_NOSIZE = &amp;H1 <br>Const MOUSEEVENTF_MIDDLEDOWN = &amp;H20 <br>Const MOUSEEVENTF_MIDDLEUP = &amp;H40 <br>Const MOUSEEVENTF_MOVE = &amp;H1 '移动鼠标 <br>Const MOUSEEVENTF_ABSOLUTE = &amp;H8000 <br>Const MOUSEEVENTF_RIGHTDOWN = &amp;H8 <br>Const MOUSEEVENTF_RIGHTUP = &amp;H10 <br>Private Declare Function SetCursorPos Lib &quot;user32&quot; (ByVal x As Long, ByVal y As Long) As Long <br>Private Declare Sub Sleep Lib &quot;kernel32&quot; (ByVal dwMilliseconds As Long) <br>         <br>Private Sub Command2_Click() <br>    Timer1.Enabled = True <br>    Timer3.Enabled = True <br>    Timer1.Interval = 1000 <br>    Timer3.Interval = 1000 <br>End Sub <br>Private Sub Command3_Click() <br>    Timer1.Enabled = False <br>    Timer3.Enabled = False <br>    Timer1.Interval = 1000 <br>End Sub <br><br><br>Private Sub Command4_Click() <br>    Dim ddzjb As Long <br>     <br>    ddzjb = FindWindow(vbNullString, &quot;斗地主角色版&quot;) <br>    If ddzjb = 0 Then <br>        MsgBox &quot;游戏没开始呢&quot; <br>    Else <br>         <br>        Call SetWindowPos(ddzjb, 0, -240, 202, 300, 250, &amp;H1) <br>    End If <br>End Sub <br><br>Private Sub Command5_Click() <br>    Dim ddzjb As Long <br>     <br>    ddzjb = FindWindow(vbNullString, &quot;斗地主角色版&quot;) <br>    If ddzjb = 0 Then <br>        MsgBox &quot;游戏没开始呢&quot; <br>    Else <br>         <br>        Call SetWindowPos(ddzjb, 0, 240, 0, 300, 250, &amp;H1) <br>    End If <br>End Sub <br><br>Private Sub Command6_Click() <br>    Dim ddzjb As Long <br>     <br>     <br>    ddzjb = FindWindow(vbNullString, &quot;斗地主角色版&quot;) <br>    If ddzjb = 0 Then <br>        MsgBox &quot;游戏没开始呢&quot; <br>    Else <br>         <br>        Call SetWindowPos(ddzjb, 0, 765, 202, 300, 250, &amp;H1) <br>    End If <br>End Sub <br><br><br><br>Private Sub Command7_Click() <br><br>End Sub <br><br>Private Sub Form_Load() <br>    Timer1.Enabled = False <br>     <br>   <br>    Timer3.Enabled = False <br>    Dim retValue     As Long <br>    '  '将窗体设置为处于所有窗口的顶层，注意在   VB   中运行时，可能不行，但编译成EXE后就可以了 <br>    SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE <br>End Sub <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[379543455@qq.com(╄→壞↙小子)]]></author>
<comments>http://379543455.qzone.qq.com/blog/1243141001#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sun, 24 May 2009 04:56:41 GMT</pubDate>
<guid>http://379543455.qzone.qq.com/blog/1243141001</guid>
</item>

<item>
<title><![CDATA[C++经典语句]]></title>
<link>http://379543455.qzone.qq.com/blog/1236699239</link>
<description><![CDATA[1.把C++当成一门新的语言学习（和C没啥关系！真的。）；<br><br>2.看《Thinking In C++》，不要看《C++变成死相》；<br><br>3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看；<br><br>4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境，而我们要学的是一门语言；<br><br>5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单，或者可以引伸出很多知识点；<br><br>6.会用Visual C++，并不说明你会C++；<br><br>7.学class并不难，template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书；<br><br>8.如果不是天才的话，想学编程就不要想玩游戏——你以为你做到了，其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住：学C++是为了编游戏的；<br><br>9.看Visual C++的书，是学不了C++语言的；<br><br>10.浮躁的人容易说：XX语言不行了，应该学YY；——是你自己不行了吧！<br><br>11.浮躁的人容易问：我到底该学什么；——别问，学就对了；<br><br>12.浮躁的人容易问：XX有钱途吗；——建议你去抢银行；<br><br>13.浮躁的人容易说：我要中文版！我英文不行！——不行？学呀！<br><br>14.浮躁的人容易问：XX和YY哪个好；——告诉你吧，都好——只要你学就行；<br><br>15.浮躁的人分两种：a)只观望而不学的人； b)只学而不坚持的人； <br><br>16.把时髦的技术挂在嘴边，还不如把过时的技术记在心里； <br><br>17.C++不仅仅是支持面向对象的程序设计语言；　<br><br>18.学习编程最好的方法之一就是阅读源代码； <br><br>19.在任何时刻都不要认为自己手中的书已经足够了；　<br><br>20.请阅读《The Standard C++ Bible》(中文版：标准C++宝典)，掌握C++标准；<br><br>21.看得懂的书，请仔细看；看不懂的书，请硬着头皮看； <br><br>22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍； 　<br><br>23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》；<br><br>24.不要停留在集成开发环境的摇篮上，要学会控制集成开发环境，还要学会用命令行方式处理程序； <br><br>25.和别人一起讨论有意义的C++知识点，而不是争吵XX行不行或者YY与ZZ哪个好；<br><br>26.请看《程序设计实践》，并严格的按照其要求去做； <br><br>27.不要因为C和C++中有一些语法和关键字看上去相同，就认为它们的意义和作用完全一样；<br><br>28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言，你一定不会把C和Z语言联系得那么紧密；<br><br>29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已；<br><br>30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++；<br><br>31.学习编程的秘诀是：编程，编程，再编程； <br><br>32.请留意下列书籍：《C++面向对象高效编程（C++ Effective Object-Oriented Software Construction）》《面向对象软件构造(Object-Oriented Software <br>Construction)》《设计模式（Design Patterns）》《The Art of Computer Programming》；<br><br>33.记住：面向对象技术不只是C++专有的； <br><br>34.请把书上的程序例子亲手输入到电脑上实践，即使配套光盘中有源代码；　<br><br>35.把在书中看到的有意义的例子扩充； <br><br>36.请重视C++中的异常处理技术，并将其切实的运用到自己的程序中； <br><br>37.经常回顾自己以前写过的程序，并尝试重写，把自己学到的新知识运用进去；　<br><br>38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路； <br><br>39.C++语言和C++的集成开发环境要同时学习和掌握；<br><br>40.既然决定了学C++,就请坚持学下去，因为学习程序设计语言的目的是掌握程序设计技术，而程序设计技术是跨语言的； <br><br>41.就让C++语言的各种平台和开发环境去激烈的竞争吧，我们要以学习C++语言本身为主；　<br><br>42.当你写C++程序写到一半却发现自己用的方法很拙劣时，请不要马上停手；请尽快将余下的部分粗略的完成以保证这个设计的完整性，然后分析自己的错误并重新设计<br>和编写（参见43）；<br><br>43.别心急，设计C++的class确实不容易；自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的； <br><br>44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的，而不是一次记住的； <br><br>45.每学到一个C++难点的时候，尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了；<br><br>46.记录下在和别人交流时发现的自己忽视或不理解的知识点；<br><br>47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX； <br><br>48.保存好你写过的所有的程序——那是你最好的积累之一； <br><br>49.请不要做浮躁的人； 　<br><br>50.请热爱C++!　 <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[379543455@qq.com(╄→壞↙小子)]]></author>
<comments>http://379543455.qzone.qq.com/blog/1236699239#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Tue, 10 Mar 2009 15:33:59 GMT</pubDate>
<guid>http://379543455.qzone.qq.com/blog/1236699239</guid>
</item>

<item>
<title><![CDATA[C++程序员]]></title>
<link>http://379543455.qzone.qq.com/blog/1236418804</link>
<description><![CDATA[    01、版权和版本 <br><br>　　02、缩进、空格、换行、空行、对齐 <br><br>　　03、程序注释 <br><br>　　04、函数的[in][out]参数 <br><br>　　05、对系统调用的返回进行判断 <br><br>　　06、if 语句对出错的处理 <br><br>　　07、头文件中的#ifndef <br><br>　　08、在堆上分配内存 <br><br>　　09、变量的初始化 <br><br>　　10、h和c文件的使用 <br><br>　　11、出错信息的处理 <br><br>　　12、常用函数和循环语句中的被计算量 <br><br>　　13、函数名和变量名的命名 <br><br>　　14、函数的传值和传指针 <br><br>　　15、修改别人程序的修养 <br><br>　　16、把相同或近乎相同的代码形成函数和宏 <br><br>　 17、表达式中的括号 <br><br>　　18、函数参数中的const <br><br>　　19、函数的参数个数 <br><br>　　20、函数的返回类型，不要省略 <br><br>　　21、goto语句的使用 <br><br>　　22、宏的使用 <br><br>　　23、static的使用 <br><br>　　24、函数中的代码尺寸 <br><br>　　25、typedef的使用 <br><br>　　26、为常量声明宏 <br><br>　　27、不要为宏定义加分号 <br><br>　　28、　　和&amp;&amp;的语句执行顺序 <br><br>　　29、尽量用for而不是while做循环 <br><br>　　30、请sizeof类型而不是变量 <br><br>　　31、不要忽略Warning <br><br>　　32、书写Debug版和Release版的程序</span><wbr /> <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[379543455@qq.com(╄→壞↙小子)]]></author>
<comments>http://379543455.qzone.qq.com/blog/1236418804#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sat, 07 Mar 2009 09:40:04 GMT</pubDate>
<guid>http://379543455.qzone.qq.com/blog/1236418804</guid>
</item>

<item>
<title><![CDATA[Linux程序员Spence Murray的开发]]></title>
<link>http://379543455.qzone.qq.com/blog/1228155798</link>
<description><![CDATA[Sppence Murray 是 Linux 开发高手之一，同时长期以来他一直是 UNIX 的坚定支持者。本文介绍的是 Murray 和他在 Codemonks Consulting 的同事在日常的 Linux 开发以及应用服务工作中用到的基本技术: shell 脚本，相信 Linux 的开发人员都会受益于这项有用而且通用的技术。    Spence Murray 是 Codemonks Consulting 的创始人之一，自从 20 世纪 80 年代最早在 SunOS 上编写代码到现在，一直致力于 UNIX/Linux 的开发。从那时起，他曾在 IBM 公司的 AIX、SGI 公司的 Irix 工作，长时间地编写跨平台的 UNIX 代码，包括 HP/UX，Irix，Solaris/SunOS，SCO UNIX，各种 BSD，MacOS X，当然，还有 Linux。从图形/视频设备驱动程序到 UI 代码，他什么工作都做过。Murray 编写的跨平台代码包括 X Window System Xserver 代码，以及作为 Netscape Navigator 一部分的核心浏览器代码。<br>    Murray 最经常使用的 Linux 工具是 vi、bash 和 Emacs。“不论我是在写 C、<a href="http://c.chinaitlab.com/" target="_blank">C++</a><wbr />、<a href="http://java.chinaitlab.com/" target="_blank">Java</a><wbr />、shell 脚本，还是 HTML，大部分的时间我都在这些工具中来回切换”，他说。<br>    Linux 秘密武器<br>    Murray 认为，对一个 Linux 开发人员来说，shell 是一个强大的软件开发工具，无论怎么评价都不过分。“在我做的每一项工作中都要用到 shell 脚本，不论是快速地阅读和修改普通文本还是编写代码”，他说。“它轻便而快捷，它短小的命令使得来回移动代码称为一个迅速而没有痛苦的过程。作为一名编辑，它很快就会成为第二本能”。<br>    对 Murray 来说，Emacs 作为一个开发工具出现的晚了一些。“在 90 年代早期，我尝试使用 Emacs 作为一个 IDE，并很快就转换门厅。Emacs 非常强大，在那些日子里，我会一直开着一个 Emacs 窗口，经常打开几十个源文件，每个都有我编辑的上下文、使用 gdb 的调试会话以及在不同的源目录下运行的 bash 脚本。有很多关于 Emacs 的资料，可以说，这是个可怕的工具...再者，您可以在任何您想要花时间去做开发的系统上运行 Emacs。<br>    自从 20 世纪 80 年代中期第一次使用 SunOS支持的 vi 这个简洁的环境以来，Emacs 编辑器已经成为了 Murray 的标准工具。&quot;它在各种流派的 UNIX 上都可以使用，这是我在致力于跨平台的开发工作时选择它的主要原因之一”，他说。<br>    Linux 开发人员：了解您的 shell<br>    Murray 要求您要了解您的 shell。“Bash、tcsh、csh――shell 是您最基本的软件开发工具”，他强调说。“它可以做许多了不起的事情。所有的工作都要依赖于它……和它的强大功能”。作为说明通用的 shell 脚本功能强大的例子，在 参考资料部分中有一个可以<a href="http://download.chinaitlab.com/" target="_blank">下载</a><wbr />的文件，其中有一组脚本，用于获得 Red Hat 发行的更新 RPM 软件包并将它们合并到原来的软件包和定制的软件包。<a href="http://download.chinaitlab.com/" target="_blank">下载</a><wbr />文件并解压缩后，您可以在 /developerworks/rpm_update_scripts 目录下找到脚本。最终结果是一个包括所有软件包最新版本的目录和一个用于网络安装的升级的 hdlist 文件。<br>    下面的代码片段实现的是对 Red Hat RPM 软件包的自动更新，以创建一个使用最新的 RPM 的可以安装的版本。这对任何一个维护公共 Linux <a href="http://server.chinaitlab.com/" target="_blank">服务器</a><wbr />的人来说是一个基本的步骤。就我们而言，我们通常是维护许多公共 Linux <a href="http://server.chinaitlab.com/" target="_blank">服务器</a><wbr />上的大量网络服务。下面是可以自动完成更新最新的<a href="http://security.chinaitlab.com/" target="_blank">安全</a><wbr />和功能的过程的部分脚本。<br>    下面的脚本样例证明了普通的 shell 编程技术可以广泛应用于各种系统配置和程序设计应用。脚本使用的是 bourne shell，它是在不同的 UNIX 系统中最为常见的 shell。这样就可以保证这些非常轻便的代码可以稍加修改或者不加修改地在不同的 UNIX 系统上使用。修改 Red Hat 软件包的规范以应用于其它 Linux 发行版本是很容易的。<br>    freshen.sh 使用指定的 RPM ftp 更新站点上的 RPM 软件包来更新原有的 RPM 列表。执行过滤器来替换更新 RPM 软件包。最后，长长的发行列表根据从更新镜像站点上得到的新 RPM 软件包完成更新。<br>    清单 1. fresh.sh<br>    #!/bin/sh<br>    rh_ver=$1<br>    rh_path=$2<br>    update_dir=${rh_path}/RH${rh_ver}-updates<br>    custom_dir=${rh_path}/RH${rh_ver}-custom<br>    install_dir=${rh_path}/RH${rh_ver}-install<br>    # Sanity check for the original directory.<br>    # Create update and install directories if they don't exist<br>    [ -d ${update_dir} ] || mkdir ${update_dir}<br>    [ -d ${install_dir}/RedHat/RPMS ] || mkdir -p ${install_dir}/RedHat/RPMS<br>    # Get latest updates from fresh rpms FTP site<br>    ./get_update.sh ${rh_ver} ${update_dir}<br>    # Create/update hardlinks from update, and custom directories<br>    # to the install directory. We assume that original RPMS are already<br>    # hardlinked to the install directory, so all we need to do is filter<br>    # out any replaced by updated packages.<br>    ./do-links.sh ${update_dir} ${install_dir}/RedHat/RPMS<br>    [ -d ${custom_dir} ] &amp;&amp; ./do-links.sh ${custom_dir}<br>    ${install_dir}/RedHat/RPMS<br>    # Filter out all but the latest version of everything.<br>    ./filter-rpms.pl $install_dir/RedHat/RPMS<br>    # Rebuild the hard disk lists<br>    /usr/lib/anaconda-runtime/genhdlist ${install_dir}<br>    freshen.sh 调用 do-links.sh 和 get_update.sh ，分别去设置 RPM 发行版本的源、宿(省略了源 RPM 软件包；硬链接用来设置目的 RPM)和检索更新。<br>    清单 2. do-links.sh<br>    #!/bin/sh<br>    src=$1<br>    dest=$2<br>    #for file in $src/*; do<br>    for file in `find $src -name *.rpm -a ! -name *.src.rpm -print`; do<br>    base=`basename $file;`<br>    if test ! -f $dest/$base; then<br>    echo &quot;Linking $file&quot;;<br>    ln $file $dest<br>    else<br>    echo &quot;EXISTS: $file&quot;;<br>    fi<br>    done<br>    清单 3. get_update.sh<br>    #!/bin/sh<br>    rh_ver=$1<br>    dest=$2<br>    echo &quot;Retrieving updates for version ${rh_ver} to $dest&quot;<br>    lftp &lt;&lt; EOF<br>    open <a href="ftp://ftp.freshrpms.net/" target="_blank">ftp.freshrpms.net</a><wbr /> &lt;<a href="ftp://ftp.freshrpms.net/" target="_blank">ftp://ftp.freshrpms.net</a><wbr />&gt; &lt;<a href="ftp://ftp.freshrpms.net/" target="_blank">ftp://ftp.freshrpms.net</a><wbr />&gt;<br>    &lt;<a href="ftp://ftp.freshrpms.net/" target="_blank">ftp://ftp.freshrpms.net</a><wbr />&gt;<br>    mirror -n pub/redhat/<a href="http://linux.chinaitlab.com/" target="_blank">linux</a><wbr />/updates/${rh_ver}/en/os/i386 $dest/i386<br>    mirror -n pub/redhat/<a href="http://linux.chinaitlab.com/" target="_blank">linux</a><wbr />/updates/${rh_ver}/en/os/i486 $dest/i486<br>    mirror -n pub/redhat/linux/updates/${rh_ver}/en/os/i586 $dest/i568<br>    mirror -n pub/redhat/linux/updates/${rh_ver}/en/os/i686 $dest/i686<br>    mirror -n pub/redhat/linux/updates/${rh_ver}/en/os/SRPMS $dest/SRPMS<br>    mirror -n pub/redhat/linux/updates/${rh_ver}/en/os/noarch $dest/noarch<br> <a href="http://java.chinaitlab.com/" target="_blank">Java</a><wbr /> 和 Linux<br>    在 Codemonks，相当多的开发工作是在 Linux 上用 Java 完成。这两个工具的组合为创建商业级质量的 Web 应用提供了一个平台，Murray 说。“在做这些项目的过程中，我们发现我们要总体上了解客户已有的应用代码”，他回忆说。locks.c (在<a href="http://download.chinaitlab.com/" target="_blank">下载</a><wbr />得到的压缩文件中的 /developerworks/locks 目录下；参阅 参考资料) 是一个代码片段，实现的是用于 Java Virtual Machine Profiler Interface (JVMPI； 参考资料中有关于 JVMPI 详细信息的链接) 的读/写锁以及大量的调试代码。<br>    Linux 开发人员的代表<br>    “在情况允许的时候，不要写特定于系统的代码”，Murray 说，而是克服困难去“写好的跨平台的代码”。受雇的 Murray 坚持认为他最大的资本永远是“写具有商业品质的代码，构建和提供网络服务，定制 OS 或内核，而且完全基于可靠的开放源代码的平台”。<br>    下面是一个代码片段，来自于一个跨平台的定制的 IMAP 服务器，这个服务器由 Linux 和 MacOS X 的开发人员共同开发。代码实现的是一个用来处理字符串的简单的增长缓存。这样避免了缓存溢出的问题(不要忘记那些<a href="http://security.chinaitlab.com/" target="_blank">安全</a><wbr />漏洞)，而不必要您每次做某些事情的时候重新分配空间。它是通过维护一个简单的可变长的缓存来实现的，这个缓存可以写满和清空。这个缓存已经被用于一个实验用的 IMAP 服务器，这个服务器是由一个团队紧张工作了一周完成的。<br>    除了一个简单的字符串缓冲区的实现之外，这段代码还实现了一个可变大小的字符串数组。它完成的是一个简单的接口，当您写完一个字符串以后，您可以标记它然后继续写下一个。此外，这样会节约空间分配，并且将比较乱的代码组织到一起。<br>    完整的 IMAP 服务器的代码将在今年某个时间发布。<br>    清单 4. 定制的 IMAP 服务器一部分<br>    #ifndef HOED_BUF_H<br>    #define HOED_BUF_H<br>    typedef struct {<br>    char *str;<br>    int size;<br>    int length;<br>    int str_start;<br>    int max_size;<br>    int n_strings;<br>    int size_strings;<br>    int *str_posn;<br>    char **str_set;<br>    } hoed_buf_t;<br>    #if __GNUC__ &gt; 2 || (__GNUC__ == 2 &amp;&amp; __GNUC_MINOR__ &gt; 4)<br>    #define PRINTF(f, a) __attribute__((format (printf, f, a)))<br>    #else<br>    #define PRINTF(f,a)<br>    #endif<br>    extern hoed_buf_t *hoed_buf_alloc(int init_size, int max_size);<br>    extern void hoed_buf_free(hoed_buf_t *);<br>    extern void hoed_buf_reset(hoed_buf_t *);<br>    extern void hoed_buf_new_string(hoed_buf_t *);<br>    extern char **hoed_buf_get_set(hoed_buf_t *, int *n_string);<br>    extern char *hoed_buf_put_char(hoed_buf_t *, char toadd);<br>    extern char *hoed_buf_sprintf(hoed_buf_t *, const char *format,...)<br>    PRINTF(2,3);<br>    extern char *hoed_buf_strcat(hoed_buf_t *, const char *append);<br>    extern char *hoed_buf_cat_sprintf(hoed_buf_t *, const char *format, ...)<br>    PRINTF(2,3);<br>    #endif /* HOED_BUF_H */<br>    称为杀手级的 Linux 应用程序<br>    对 Murray 来说，有两个杀手级的 Linux 应用程序：Emacs 和 Netscape Navigator。“Emacs 或许是给人印象最深而且广为应用的基于 Linux 的应用程序”，他说。“另一个是 Netscape Navigator。有一次，我们要支持20多种 UNIX，我在 Linux 上完成了所有的工作”。<br>    他继续说，“有趣的是，基于 Linux 的应用程序可能运行于许多不同风格的 UNIX 系统上，甚至安装了 Cygwin 的 <a href="http://windows.chinaitlab.com/" target="_blank">Windows</a><wbr /> 系统。”<br>    Linux 的未来如何?<br>    当前，Murray 正在进行的 Linux 项目有好几个，从支持电子邮件、消息和共享数据库的分布式办公应用程序到使用标准工具的网络应用程序(标准工具包括：Apache/Tomcat, PHP, PostgreSQL, MySQL, 和 Linux)。 Murray 有他自己的公司专门为网络服务和网络应用提供主机服务。<br>    对 Murray 来说，得益于 Linux 强大功能的应用程序的列表在不断地增长。“有很多”，他说。“<a href="http://oracle.chinaitlab.com/" target="_blank">Oracle</a><wbr />, WebSphere, Apache, PostgresQL, MySQL, Cyrus IMAP... 这个列表很长而且在不断增长。”<br>    对 Murray 来说，Linux 到此为止了。“我们所有的服务器都运行 Linux；不管目标平台如何，我们主要的开发都在 Linux 上进行；我们把 Linux 推荐给用户来运行服务器应用程序”，他说。“ Linux 快速发展的步伐，开放源代码组织对它的广泛支持，低廉的开发费用，如果把这些结合在一起，您就知道它是一个难以击败的平台”。<br>    关于作者<br>    John 一直与高科技界一些名人一起工作，同时他为 CNET、Macromedia、NBCI、Sun Microsystems 和 MSNBC 之类的公司发行了产品和发起了 Web 倡议。1996 年 John 启动了极富创造力的 CNET/Intel 项目 Mediadome，并在 1998 年建立了 Macromedia 的 Shockwave.com。1999 年他还创建了 NBCi 的 Media Sharehouse。John 作为一名顾问，为 Sun Microsystem/Netscape 的 iPlanet 站点预测和研究 Java 技术的应用程序。目前，他还是 Standard Alliance 的副总裁，这是一家位于旧金山的 iTV 应用和生产的公司。可以通过 [email=[ft=#333333,,]john@mediaoverdrive.com</span><wbr />]john@mediaoverdrive.com[/email] 与他联系。 <!--v:3.2--> ]]></description>
<category><![CDATA[linux]]></category>
<author><![CDATA[379543455@qq.com(╄→壞↙小子)]]></author>
<comments>http://379543455.qzone.qq.com/blog/1228155798#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Mon, 01 Dec 2008 18:23:18 GMT</pubDate>
<guid>http://379543455.qzone.qq.com/blog/1228155798</guid>
</item>

<item>
<title><![CDATA[linux的域名解析系统设置]]></title>
<link>http://379543455.qzone.qq.com/blog/1225962629</link>
<description><![CDATA[DNS就是Domain Name System，它能够把形如<a href="http://www.21php.com这样的域名转换为211.152.50.35/" target="_blank">www.21php.com这样的域名转换为211.152.50.35</a><wbr />这样的IP地址；没有DNS，浏览21php.com 这个网站时，就必须用211.152.50.35这么难记的数字来访问。提供DNS服务的就是DNS服务器。DNS服务器可以分为三种，高速缓存服务器 (Cache-only server)、主服务器(Primary Name server)、辅助服务器(Second Name Server)。<br><br>　　DNS的详细原理、工作流程、术语、概念，限于篇幅，这里就不说了。可以阅读专门的文章，如DNS-HOWTO加以了解。<br><br>　　②配置主DNS服务器<br><br>　　首先我们做以下假设：A服务器为21php.com的主域名服务器，其IP地址为11.0.0.1，B服务器为21php.com的辅助域名服务器，其IP地址为11.0.0.2；<br><br>　　下面我们配置服务器11.0.0.1为21PHP.COM的主DNS服务器<br><br>　　Linux下的dns功能是通过bind软件实现的。bind软件安装后，会产生几个固有文件，分为两类，一类是配置文件在/etc目录下，一类是dns记录文件在/var/named目录下。加上其他相关文件，共同设置dns服务器。下面是所有和dns设置相关文件的列表与说明。<br><br>　　位于/etc目录下的有：hosts,host.conf,resolv.conf,named.boot,named.conf。<br><br>　　1、“hosts”文件，定义了主机名和ip地址的对应，其中也有将要运行dns这台电脑的ip地址和主机名。内容：<br><br>　　127.0.0.1 localhost.localdomain localhost<br><br>　　2、“host.conf”文件[Boban注：原来误写成hosts.conf]，&quot;order hosts bind&quot;语句，指定了对主机名的解析顺序是先到hosts中查找，然后到dns服务器的记录里查找。“multi on”则是允许一个主机名对应多个ip地址。内容：<br><br>　　order hosts, bind<br><br>　　multi on<br><br>　　nospoof on<br><br>　　3、“resolv.conf”文件，“nameserver 10.0.0.211”指定了dns服务器的地址。注意，这个文件对普通非dns服务器的电脑(非windows的系统；Windows系统是在“网络属性”中设置这项的)来说，是必不可少的。你如果没有设置本机为dns服务器，你又要能够解析域名，就必须指定一个dns服务器的地址。你可以最多写上三个地址，作为前一个失败时的候选dns服务器。“domain zrs.com”指定默认的域。文件内容：<br><br>　　domain 21php.com<br><br>　　nameserver 11.0.0.1<br><br>　　4、“named.boot”文件是早期版本的bind软件使用的配置文件，现在新版本中已经让位于“named.conf”。named.conf是dns server配置的核心文件。下面我们一段一段的来解说。<br><br>　　# named.conf - configuration for bind<br><br>　　#<br><br>　　# Generated automatically by bindconf, alchemist et al.<br><br>　　controls {<br><br>　　inet 127.0.0.1 allow { localhost; } keys { rndckey; };<br><br>　　};<br><br>　　include &quot;/etc/rndc.key&quot;;options {<br><br>　　directory &quot;/var/named/&quot;;<br><br>　　};<br><br>　　zone &quot;.&quot; {<br><br>　　type hint;<br><br>　　file &quot;named.ca&quot;;<br><br>　　};<br><br>　　zone &quot;0.0.127.in-addr.arpa&quot; {<br><br>　　type master;<br><br>　　file &quot;0.0.127.in-addr.arpa.zone&quot;;<br><br>　　};<br><br>　　zone &quot;localhost&quot; {<br><br>　　type master;<br><br>　　file &quot;localhost.zone&quot;;<br><br>　　};<br><br>　　zone &quot;21php.com&quot; {<br><br>　　type master;<br><br>　　notify yes;<br><br>　　file &quot;21php.com&quot;;<br><br>　　};<br><br>　　上文中#为注释符号， 其他各行含义如下：<br><br>　　diretory /var/named<br><br>　　指定named从 /var/named 目录下读取DNS数据文件，这个目录用户可自行指定并创建，指定后所有的DNS数据文件都存放在此目录下；<br><br>　　zone &quot;.&quot; {<br><br>　　type hint;<br><br>　　file &quot;named.ca&quot;;<br><br>　　};<br><br>　　指定named从 named.ca 文件中获得Internet的顶层“根”服务器地址 。<br><br>　　zone &quot;0.0.127.in-addr.arpa&quot; {<br><br>　　type master;<br><br>　　file &quot;0.0.127.in-addr.arpa.zone&quot;;<br><br>　　};<br><br>　　指定named作为127.0.0网段地址转换主服务器，named.local文件中包含了127.0.0.*形式的地址到域名的转换数据(127.0.0网段地址是局域网接口的内部 loopback地址)；<br><br>　　zone &quot;localhost&quot; {<br><br>　　type master;<br><br>　　file &quot;localhost.zone&quot;;<br><br>　　};<br><br>　　指定包含localhost的DNS文件数据存放在/var/named/localhost.zone中；<br><br>　　zone &quot;21php.com&quot; {<br><br>　　type master;<br><br>　　notify yes;<br><br>　　file &quot;21php.com.zone&quot;;<br><br>　　};<br><br>　　以上语句表明域21php.com的DNS数据存放在/var/named/目录下的21php.com.zone中；<br><br>　　我们可以用文本编辑器打开/var/named/21php.com.zone，其内容如下：<br><br>　　$TTL 86400 @ IN SOA @ root.localhost (<br><br>　　2 ; serial<br><br>　　28800 ; refresh<br><br>　　7200 ; retry<br><br>　　604800 ; expire<br><br>　　86400 ; ttl<br><br>　　)<br><br>　　@ IN NS localhost<br><br>　　www IN A 11.0.0.233<br><br>　　www2 IN A 11.0.0.23<br><br>　　forum IN A 11.0.0.10<br><br>　　@ IN MX 5 mail.21php.com.<br><br>　　该文件的前部分是相应的参数设置，此部分不需要改动，后面的部分就是具体的DNS数据；<br><br>　　例如：<br><br>　　www IN A 11.0.0.233<br><br>　　将<a href="http://www.21php.com/" target="_blank">www.21php.com</a><wbr /> 解析到地址11.0.0.233；<br><br>　　www2 IN A 11.0.0.23<br><br>　　将www2.21php.com 解析到地址11.0.0.23；<br><br>　　club IN A 11.0.0.10<br><br>　　将club.21php.com 解析到地址11.0.0.10；<br><br>　　③配置辅助DNS服务器<br><br>　　配置服务器11.0.0.2为21php.com辅助dns服务器<br><br>　　辅助DNS服务器，可从主服务器中转移一整套域信息。区文件是从主服务器中转移出来的，并作为本地磁盘文件存储在辅助服务器中。在辅助服务器中有域信息的完整拷贝，所以也可以可以回答对该域的查询。这部分的配置内容如下：<br><br>　　zone &quot;21php.com&quot; IN {<br><br>　　type slave;<br><br>　　file &quot;21php.com.zone&quot;;<br><br>　　masters { 11.0.0.1; };<br><br>　　};<br><br>　　可以看到，和主DNS服务器不同地方就是：“type”改为了“slave”，然后指明了主DNS服务器的地址“masters { 11.0.0.1; };”。DNS服务启动时，就会自动连接11.0.0.1,读取21php.com域的信息，然后保存到本机的21php.com.zone文件里。<br><br>　　④测试DNS服务器<br><br>　　改动过DNS的相应文件，用“ndc restart”命令重新启动服务，在redhat 7.1以上版本中使用命令：<br><br>　　/etc/rc.d/init.d/named restart<br><br>　　或者<br><br>　　/etc/rc.d/init.d/named reload<br><br>　　使改动生效。<br><br>　　要测试DNS，可以找一台客户机，把它的DNS地址设成新建立的DNS服务器地址，然后试试上网，收信，下载等。也可以使用nslookup命令：运行nslookup，输入要查询的主机名，看是否返回正确的ip地址，在redhat 7.1以上版本中推荐使用dig命令。<br> <!--v:3.2--> ]]></description>
<category><![CDATA[linux]]></category>
<author><![CDATA[379543455@qq.com(╄→壞↙小子)]]></author>
<comments>http://379543455.qzone.qq.com/blog/1225962629#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Thu, 06 Nov 2008 09:10:29 GMT</pubDate>
<guid>http://379543455.qzone.qq.com/blog/1225962629</guid>
</item>

</channel>
</rss>

