<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>朱文昊 Albert Zhu</title>
	<atom:link href="http://zhuwenhao.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://zhuwenhao.com</link>
	<description>朱文昊的中文博客－－专注技术，向往自由</description>
	<lastBuildDate>Sun, 22 Jan 2012 13:47:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>写在农历新年的话</title>
		<link>http://zhuwenhao.com/991/%e9%9a%8f%e7%ac%94/%e5%86%99%e5%9c%a8%e5%86%9c%e5%8e%86%e6%96%b0%e5%b9%b4%e7%9a%84%e8%af%9d/</link>
		<comments>http://zhuwenhao.com/991/%e9%9a%8f%e7%ac%94/%e5%86%99%e5%9c%a8%e5%86%9c%e5%8e%86%e6%96%b0%e5%b9%b4%e7%9a%84%e8%af%9d/#comments</comments>
		<pubDate>Sun, 22 Jan 2012 13:47:56 +0000</pubDate>
		<dc:creator>朱文昊 Albert Zhu</dc:creator>
				<category><![CDATA[随笔]]></category>

		<guid isPermaLink="false">http://zhuwenhao.com/?p=991</guid>
		<description><![CDATA[很长时间以来，工作一直都很忙，除了转发一些IEEE的月报，以及更新一些源代码之外，几乎没有写过多少日志。在除夕夜，放大假的日子里，终于有时间回想和展望。最让我开心的是，我妈妈和爸爸在新的地方继续发光发热，祝你们身体健康，心情愉快。
2011年，公司发生了很大的、好的转变，我也承担了更大的责任。在2012，在技术和管理方面，将会有更多的挑战等待我去迎接。
]]></description>
			<content:encoded><![CDATA[<p>很长时间以来，工作一直都很忙，除了转发一些IEEE的月报，以及更新一些源代码之外，几乎没有写过多少日志。在除夕夜，放大假的日子里，终于有时间回想和展望。最让我开心的是，我妈妈和爸爸在新的地方继续发光发热，祝你们身体健康，心情愉快。</p>
<p>2011年，公司发生了很大的、好的转变，我也承担了更大的责任。在2012，在技术和管理方面，将会有更多的挑战等待我去迎接。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhuwenhao.com/991/%e9%9a%8f%e7%ac%94/%e5%86%99%e5%9c%a8%e5%86%9c%e5%8e%86%e6%96%b0%e5%b9%b4%e7%9a%84%e8%af%9d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>EEE中文快报  2012年1月</title>
		<link>http://zhuwenhao.com/988/%e5%bf%97%e6%84%bf%e5%b7%a5%e4%bd%9c/ieee/eee%e4%b8%ad%e6%96%87%e5%bf%ab%e6%8a%a5-2012%e5%b9%b41%e6%9c%88/</link>
		<comments>http://zhuwenhao.com/988/%e5%bf%97%e6%84%bf%e5%b7%a5%e4%bd%9c/ieee/eee%e4%b8%ad%e6%96%87%e5%bf%ab%e6%8a%a5-2012%e5%b9%b41%e6%9c%88/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 03:45:24 +0000</pubDate>
		<dc:creator>朱文昊 Albert Zhu</dc:creator>
				<category><![CDATA[IEEE]]></category>

		<guid isPermaLink="false">http://zhuwenhao.com/?p=988</guid>
		<description><![CDATA[本期热点内容包括：
1）  IEEE 新年祝福
2）  IEEE国内外要点新闻
3）  IEEE在线讲座精选
4）  2012年科技大预测
5）  IEEE Support  [...]]]></description>
			<content:encoded><![CDATA[<p>本期热点内容包括：</p>
<p>1）  IEEE 新年祝福</p>
<p>2）  IEEE国内外要点新闻</p>
<p>3）  IEEE在线讲座精选</p>
<p>4）  2012年科技大预测</p>
<p>5）  IEEE Support Center介绍</p>
<p>&nbsp;</p>
<p>IEEE新年祝福</p>
<p>截止到2011年12月31日，IEEE中国区会员（不包括香港，澳门和台湾）达到9,273人。其中，荣誉会员1人，终身会士7人，会士53人，终身高级会员18人，高级会员673人，终身会员2人，会员5346人，准会员509人，研究生会员1948人，本科生会员716人。</p>
<p>谨代表IEEE中国代表处向全体会员和志愿者表示最真挚的新春祝福和衷心感谢！</p>
<p>&nbsp;</p>
<p>IEEE要点新闻</p>
<p>2011年12月06日在美国休斯敦举行的IEEE全球通信会议(IEEE Globecom’11)上，浙江大学陈积明教授获得IEEE通信学会亚太区杰出青年研究学者奖。此奖于2001年成立，授予过去3年中在通信领域的论文发表/会议方面活跃的35岁以下的杰出年轻研究人员。</p>
<p>2011年12月8日，John L. Hennessy，现任斯坦福校长，被评为2012 IEEE Medal of Honor获奖人。他率先推出的RISC（精简指令集计算机）处理器架构，以及在计算机工程和高等教育中表现出卓越的领导力，使他获得该殊荣。IEEE Medal of Honor由IEEE基金会赞助，2012年IEEE颁奖典礼将在2012年6月30日在美国波士顿举行。</p>
<p>2011年12月21日，“中国<a href="http://tech.hexun.com/telecom/index.html">通信</a>标准化协会第十次会员大会”在北京召开。工业和信息化部、国家标准化管理委员会相关司局，相关协会\学会领导，ETSI、IEEE、协会会员/观察员代表，各技术委员会主席/组长，协会专家咨询委员会委员、技术管理委员会委员和专家等300多人参加了大会。IEEE中国代表处首席代表华宁介绍了“IEEE组织及其标准发展动态”。</p>
<p>2011年12月13日至18日，应北京交通大学校邀请，受美国工程与技术鉴定委员会（ABET）下属的IEEE工程协会委派，Rod Harker先生莅临北京交大校指导电信学院“通信工程”和“自动化”专业申请国际IEEE专业认证评估工作。</p>
<p>IEEE生物识别理事会(IEEE Biometrics Council)选举结果日前揭晓，中国科学院副秘书长、中科院自动化所研究员谭铁牛当选候任主席。按照规定，2013年他将正式担任该理事会主席。</p>
<p>2011年12月21日下午，IEEE电子科大学生分会组织同学们参观了爱立信公司成都分部。</p>
<p>2012年1月9日，IEEE标准协会宣布将全球产业领导聚集在一起形成电力事业联盟（Power Matters Alliance）计划。 PMA将致力于重塑消费者日常在无线，无害环境和智能的环境下和电力交互。</p>
<p>2012年1月10日，IEEE标准协会宣布，IEEE P1901.2™ 标准对于低频（小于500千赫）窄带电力线通信（智能电网应用的PLC）工作组已进入了最后的审批程序。支持室内和室外的低压电力线通讯标准草案邮件投票阶段于2011年12月20开始，2012年1月25日结束。</p>
<p>2012年1月10日-13日，2012国际消费电子展在美国拉斯维加斯举行，来自世界各地的IEEE会员在会上对行业发展趋势进行了预测，包括IEEE高级会员Dr. Coughlin，他讨论了自然灾害如何影响消费电子市场，Dr. Gershon讨论了未来社交网络媒体的应用等。在此次展览上，IEEE，IEEE Spectrum，IEEE标准协会，IEEE 通信学会，IEEE消费电子学会等都设置了展台。</p>
<p>IEEE目前正在制定新的P1905.1标准，该标准为统一构成家庭网络的多种互连技术提供了底层机制。这一标准的制定使得EoC超越接入网技术，成为家庭网络的重要组成部分，无缝连接家庭内部各个数字设备，真正完成数字家庭的构建，实现所谓的<a href="http://www.iot-online.com/tags.php?/%E4%B8%89%E7%BD%91%E8%9E">三网融合</a>。</p>
<p>更多新闻请登录<a href="http://cn.ieee.org/">http://cn.ieee.org</a></p>
<p>&nbsp;</p>
<p>IEEE在线讲座精选</p>
<p><a href="http://spectrum.ieee.org/webinar/">IEEE Spectrum系列讲座</a></p>
<p><a href="http://www.ieee.org/membership_services/membership/gold/index.html">IEEE GOLD系列讲座</a></p>
<p><a href="http://www.comsoc.org/free-tutorials"><strong>Consumer Networking Standardization</strong></a></p>
<p>最新IEEE.TV精彩内容（<a href="http://www.ieee.tv/home">http://www.ieee.tv/home</a>）</p>
<p>&nbsp;</p>
<p>2012 科技大预测</p>
<p><strong>2012</strong>年第一期的<strong>IEEE Spectrum</strong>预测了<strong>2012</strong>年<strong>14</strong>大领先科技（<strong>Top Tech for 2012)</strong>：</p>
<p>“我们可以天马行空地预测下个世纪的科技，也可以对未来十年的科技进行热情地展望，但是，如果仅仅是展望未来12个月的科技动态，则最好是脚踏实地、以现实为基础做出预测。这正是我们本年度进行的技术调查的内容：在选定的学科中，我们主要考虑了这些科学技术明年出现在科技头条的可能性，我们认为也希望它们可以获得成功。 一个典型的例子就是极紫外光刻技术： 超过15年的改进已经让它成为了支持摩尔定律的最佳方式。今年，它也有可能走到成败的关键点。我们无法告诉您这些技术成败与否，但是在任何情况下，这一结果在硅谷乃至更大的区域都是头条新闻。”</p>
<p>——Philip E.Ross Samuel K. Moore</p>
<p>1.         体外骨骼设备（Exoskeletons for Paraplegics）：面向下肢截瘫患者的体外骨骼技术将推向市场）</p>
<p>2.         视网膜假体（Retinal Prostheses），眼睛中植入的电极将会为失明患者带来光明</p>
<p>3.         私人航天飞船（Private Spacecraft），商业宇宙旅行将会频繁成行</p>
<p>4.         3-D集成电路（3-D Integrated Circuits）， 3D芯片制造技术将会继续研究，为延续莫尔定律加力</p>
<p>5.         外星球探索（Another Earth），一个新的地外行星寻找计划启动</p>
<p>6.         电动汽车充电站（EV Charging Station），启动测试电动汽车充电站的可行性</p>
<p>7.         可插电繁殖（Plug-Ins Proliferating），全电动或混合电动汽车将会在今年稍后时间驶上街头</p>
<p>8.         电池存储电网（Grid-Scale Batteries），2012将会诞生大规模的电池存储接入电网设施)</p>
<p>9.         中国超级计算机（China&#8217;s Supercomputers），国产芯片将会装备曙光6000</p>
<p>10.     Windows 8（Windows 8），微软Win8的发布将会检验微软是否能引领桌面计算的潮流</p>
<p>11.     极紫外光刻（Extreme Ultraviolet Lithography) ，远紫外线金属板印刷将会取得重大突破</p>
<p>12.     3-D立体印刷（3-D Printing），3D实体打印技术将会从原型走向市场</p>
<p>13.     LED节能技术（LEDs fro Less），LED灯将会更便宜</p>
<p>14.     神奇的4G（Fantastic 4G）， 4G-LTE市场将会大规模部署</p>
<p>&nbsp;</p>
<p><strong>2012</strong>年<strong>1</strong>月在<strong>2012</strong>国际消费电子展上，<strong>IEEE</strong>专家预测<strong>12</strong>项消费电子产品发展趋势：</p>
<p>1.         无所不在的连接，实时的基于云的数据共享可以无缝访问我们的住宅和汽车。</p>
<p>2.         网络视频的巅峰，基于网络的视频流媒体电视2012年美国将达到一个临界点。</p>
<p>3.         家庭的病患监控技术，先进的健康监测技术最终会在家庭和不只是诊所和医院使用。</p>
<p>4.         家庭网络技术的融合，将看到一个新品种能够尽快打开找到所有可用的网络连接</p>
<p>5.         长期存储技术，陶瓷蚀刻数据将有可能使存储的信息到达1000年。</p>
<p>6.         IT技术对企业的技术决策的影响将继续发展，例如人们将开始使用平板电脑和智能手机告知同事他们的工作（如在办公室或异地）。</p>
<p>7.         消费类电子产品服务，电子产品制造商将更加广泛提供服务，应用和通过远程服务器联机（即云）提供给消费者的内容。</p>
<p>8.         智能手机黑客增加，移动安全将是一个快速增长的问题。</p>
<p>9.         自然灾害引发全球消费电子产品的价格，泰国的大洪水的自然灾害的影响将更加清楚地在2012年体现。</p>
<p>10.     私人公司，而不是军队，将推动重大技术创新。</p>
<p>11.     更多的汽车将运用先进的传感器，使车辆检测并警告司机立即停止危险车辆的方式，它可以显著减少车辆事故的可能性。</p>
<p>12.     自动元数据生成，使个人内容更为有用和可用。</p>
<p>&nbsp;</p>
<p>IEEE Support Center介绍</p>
<p>IEEE支持中心是IEEE客户服务界面，解答IEEE的产品和服务相关问题。 IEEE支持中心提供的信息包括但不限于以下内容：</p>
<p>Ÿ   IEEE和协会的会员资格和福利</p>
<p>Ÿ   Xplore订阅和访问</p>
<p>Ÿ   在线产品</p>
<p>Ÿ   报价及订单</p>
<p>Ÿ   IEEE标准</p>
<p>访问IEEE支持中心，您将可以：</p>
<p>Ÿ   浏览常见问题的解答和我们的知识库</p>
<p>Ÿ   通过关键字搜索IEEE的产品和服务信息</p>
<p>Ÿ   提交您的问题</p>
<p>Ÿ   与我们的客服代表进行在线聊天</p>
<p>欢迎访问<a href="https://supportcenter.ieee.org/">https://supportcenter.ieee.org/</a>，使用以上功能。</p>
<p>如有关于会员用户名密码，订阅刊物订单，会员级别变更等问题，强烈推荐会员使用Live Chat功能，在线和IEEE客户人员说明问题，可获得第一时间解决。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhuwenhao.com/988/%e5%bf%97%e6%84%bf%e5%b7%a5%e4%bd%9c/ieee/eee%e4%b8%ad%e6%96%87%e5%bf%ab%e6%8a%a5-2012%e5%b9%b41%e6%9c%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IEEE中文快报 2011年12月</title>
		<link>http://zhuwenhao.com/984/%e5%bf%97%e6%84%bf%e5%b7%a5%e4%bd%9c/ieee/ieee%e4%b8%ad%e6%96%87%e5%bf%ab%e6%8a%a5-2011%e5%b9%b412%e6%9c%88/</link>
		<comments>http://zhuwenhao.com/984/%e5%bf%97%e6%84%bf%e5%b7%a5%e4%bd%9c/ieee/ieee%e4%b8%ad%e6%96%87%e5%bf%ab%e6%8a%a5-2011%e5%b9%b412%e6%9c%88/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 07:54:33 +0000</pubDate>
		<dc:creator>朱文昊 Albert Zhu</dc:creator>
				<category><![CDATA[IEEE]]></category>

		<guid isPermaLink="false">http://zhuwenhao.com/?p=984</guid>
		<description><![CDATA[本期热点内容包括：
1）  IEEE 最近优惠信息
2）  IEEE国内外要点新闻
3）  IEEE在线讲座精选
4）  IEEE 会员风采
5）  myIEEE介绍
&#160;
IEEE 最近优惠信息
&#160;
现在IEEE会员可以免费试用一个月IEEE MDL（会员图书馆）
IEEE MDL是IEEE会员独享的产品，每月35美元25篇（或15美元3篇）下载IEEE  [...]]]></description>
			<content:encoded><![CDATA[<p>本期热点内容包括：</p>
<p>1）  IEEE 最近优惠信息</p>
<p>2）  IEEE国内外要点新闻</p>
<p>3）  IEEE在线讲座精选</p>
<p>4）  IEEE 会员风采</p>
<p>5）  myIEEE介绍</p>
<p>&nbsp;</p>
<p>IEEE 最近优惠信息</p>
<p>&nbsp;</p>
<p>现在IEEE会员可以免费试用一个月IEEE MDL（会员图书馆）</p>
<p>IEEE MDL是IEEE会员独享的产品，每月35美元25篇（或15美元3篇）下载IEEE Xplore中任何期刊或会议录文章。现在IEEE向会员提供一个月的免费试用期（25篇文章），点击</p>
<p><a href="http://www.ieee.org/publications_standards/publications/subscriptions/prod/mdl/mdl_freetrial.html?WT.mc_id=iom_prod_mdl">http://www.ieee.org/publications_standards/publications/subscriptions/prod/mdl/mdl_freetrial.html?WT.mc_id=iom_prod_mdl</a> 网页最下面Start your trial，输入会员用户名和密码，购物车中自动出现30天MDL试用，点击checkout即可完成。</p>
<p>&nbsp;</p>
<p>IEEE要点新闻</p>
<p>11月4-7日，中国通信标准化协会邬贺铨理事长、杨泽民秘书长一行访问了位于新泽西IEEE总部，与IEEE秘书长兼COO James Prendergast博士、IEEE-SA主席Steven M. Mills先生、IEEE-SA秘书长Judith Gorman女士及IEEE相关部门负责人进行了热烈友好的交流。在此次会见期间，CCSA秘书长杨泽民与IEEE-SA秘书长Judith Gorman女士共同签署了合作谅解备忘录。双方还就近期下一步的合作进行了部署：一是确定了CCSA TC6与IEEE 802.3（EPON）之间互发联络函的沟通机制，并指定了双方的联系人。二是计划在2012年6月份联合在北京举办M2M研讨会。</p>
<p>11月21日，IEEE北京交通大学学生分会成功举办了“大师面对面”活动，邀请IEEE Fellow毕奇作了“下一代无线通信机遇与挑战”的主题讲座。毕奇讲述了无线通信的发展历史以及下一代无线通信所面临的技术挑战，并结合自身经历鼓励交大学生技术创新。报告在同学们意犹未尽的热烈掌声中圆满结束。</p>
<p>2012 IEEE Fellow增选结果揭晓，中国国内共有9名教授（冯正和，洪伟，毛军发，李学龙，牛志升，温江涛，吴建平，尤肖虎，张文军）入选，于2012年1月1日生效。 IEEE Fellow是IEEE最高等级的成员，是技术界公认的殊荣，也是重要的事业成就。</p>
<p>IEEEXtreme 5.0极限编程竞赛成绩已经公布，本次大赛共有来自世界各地的1515支队参加，其中来自中国高校的共有35支队伍。清华大学&amp;上海交大的fanwudi队伍获得了全球第8名，进入全球前100名中还有来自大连理工，清华大学和电子科大的参赛队伍。</p>
<p>11月22-23日，在北京举行的中国智慧能源高峰会议以及IEEE1888子标准工作组会议上，由中国创新的IEEE1888节能标准，获得智慧能源产业的广泛瞩目并获得全球重要厂商的支持。</p>
<p>11月30日IEEE宣布，在FierceEnergy杂志公布的全球“15个最具影响力的能源专家”清单中，有4名IEEE智能电网专家，他们是 IEEE终身会员Dick DeBlasio，IEEE Fellows Erich Gunther 和John McDonald以及IEEE计算机协会会员 Andres Carvallo。</p>
<p>12月5日，IEEE标准协会宣布IEEE802.22™工作组获得IEEE标准协会“2011年新兴技术奖”。IEEE802.22-2011是第一个电视（TV）白带宽（联合国定义为可用或未被占用的电视频道）IEEE802®标准，它也是第一个重点在利用农村大部分空置的电视频道实现宽带连接，从而有助于弥合“数字鸿沟”。</p>
<p>12月5日，IEEE标准协会宣布，成立一个研究小组，研究在同轴网络上的EPON新的PHY（物理层）标准。新成立的IEEE 802.3标准™EPON同轴电缆协议（EPOC）的研究小组将探讨使用IEEE 802.3以太网规范，显着提升和扩大现有的接入网络，为世界各地的亿万住宅和商业用户提供以太网的能力。</p>
<p>12月7日，IEEE标准协会宣布已批准了IEEE 1903™-2011 “下一代服务重叠网络的功能架构（NGSON）”标准。IEEE 1903 NGSON标准，提供了一基于IP协议的的服务重叠网络的具体框架，解决了在宽带和移动网络交互服务中更高效提供应用的创建，交付和管理。IEEE1903工作组成员包括中国移动，工信部研究所，华为，KDDI，KT和Telcordia等。</p>
<p>12月9日下午，IEEE华中科技大学学生分会与烽火科技集团联系并组织 “IEEE HUST学生分会烽火之旅”活动，活动吸引了华中科技大学各个院系包括本科生、硕士生和博士生在内共计33名同学参加。 学生们先是参观了烽火科技的展厅和生产车间，然后烽火介绍了公司在光纤领域的业务以及发展状况，战略，人才招聘等，最后IEEE华中科技大学学生分会介绍了IEEE学生分会的发展情况，烽火之旅圆满结束。</p>
<p>更多新闻请登录<a href="http://cn.ieee.org/">http://cn.ieee.org</a></p>
<p>&nbsp;</p>
<p>IEEE在线讲座精选</p>
<p><a href="http://spectrum.ieee.org/webinar/">IEEE Spectrum系列讲座</a></p>
<p><a href="http://www.ieee.org/membership_services/membership/gold/index.html">IEEE GOLD系列讲座</a></p>
<p><a href="http://www.comsoc.org/form/tutorial-registration-consumer-networking-standardizations"><strong>Consumer Networking Standardization</strong></a></p>
<p>最新IEEE.TV精彩内容（<a href="http://www.ieee.tv/home">http://www.ieee.tv/home</a>）</p>
<p>&nbsp;</p>
<p>IEEE 会员风采</p>
<p>梅生伟，清华大学电机系电力系统研究所副所长、教授、博士生导师，IET Fellow，IEEE高级会员。主要从事电力系统鲁棒控制、复杂性网络、新能源发电等方面的研究。下面是他对于中国乃至全球绿色创新与低碳发展的热点问题的一些看法。</p>
<p>问：请评价一下中国目前绿色创新，低碳发展的现状。中国是否已经形成了“绿色产业”？</p>
<p>答：目前的绿色创新主要由科研院所和高校完成，而创新资金也在很大程度上依赖于政府。中国仍未形成“绿色产业”，主要有以下几个方面的原因：第一，资金缺乏的制约。第二，风险投资机制不够完善。第三，绿色创新的技术基础较为薄弱。</p>
<p>问：中国在绿色、低碳方面有哪些行业做得比较好？</p>
<p>近年来，中国在能源、建筑、家电等行业大力推进节能减排技术，在绿色、低碳发展方面取得了较大的成效。中国在能源行业的绿色、低碳发展成效可以通过风电、大阳能和智能电网三个方面体现。中国社会建筑节能意识不断加强。中国家用电器产业十分注重节能环保的电器产品的研发和销售。</p>
<p>问：从全球来看，有哪些绿色创新，低碳发展的新趋势（包括技术、应用方面的）？</p>
<p>答：跨行业，跨国界，浅绿向深绿转变的发展趋势。</p>
<p>问：请展望一下未来5年中国以及国际的绿色创新，低碳发展的前景</p>
<p>答：在中国“十二五”规划中，绿色创新、低碳发展是未来五年发展中一个非常重要的命题。中国的绿色创新虽然起步较晚，但目前正处在转变发展方式和调整产业结构的关键时期，绿色创新有着广阔的发展前景。美国政府提出通过绿色创新掌握应对全球气候变化和环境污染问题的领导权。欧盟宣布保持欧盟在绿色创新领域的世界领先地位。日本则强化绿色创新与低碳发展，绿色创新、低碳发展已在世界各国中形成了高度共识。</p>
<p>更多内容请登录</p>
<p><a href="http://www.ieee.org/about/news/ieee_in_the_news.html?WT.mc_id=whm_news_1">http://www.ieee.org/about/news/ieee_in_the_news.html?WT.mc_id=whm_news_1</a></p>
<p>&nbsp;</p>
<p>myIEEE介绍</p>
<p>myIEEE是一个为IEEE会员提供的个性化门户网站。登录myIEEE可以：</p>
<p>Ÿ   查看会员信息；</p>
<p>Ÿ   了解IEEE当地组织和志愿者的领导信息；</p>
<p>Ÿ   寻找即将召开的会议；</p>
<p>Ÿ   会员优惠信息；</p>
<p>Ÿ   阅读来自IEEE Spectrum, IEEE Standards News, and The Institute的最新消息。</p>
<p>进入myIEEE，首先看到会员问候区(Hello)，显示姓名，会员等级，会员号，并可以打印会员证书，My account显示或修改个人信息。My desktop个人定制模块。Knowledge desk包括会员订阅信息，IEEEXplore下载次数最多的文章等。Community desk提供访问本地及全球的交流机会，包括IEEE会员信息，最新的IEEE会议列表等。Profession desk直接搜索IEEE的招聘网站和IEEE &#8211; USA顾问数据库，以及IEEE奖项及奖学金的机会及时公告。Volunteer提供志愿者资源，申请成为志愿者等。</p>
<p>欢迎登录<a href="http://www.ieee.org/membership_services/membership/my_ieee.html">http://www.ieee.org/membership_services/membership/my_ieee.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zhuwenhao.com/984/%e5%bf%97%e6%84%bf%e5%b7%a5%e4%bd%9c/ieee/ieee%e4%b8%ad%e6%96%87%e5%bf%ab%e6%8a%a5-2011%e5%b9%b412%e6%9c%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IEEE 中文快报 2011 年 11 月</title>
		<link>http://zhuwenhao.com/981/%e5%bf%97%e6%84%bf%e5%b7%a5%e4%bd%9c/ieee/ieee-%e4%b8%ad%e6%96%87%e5%bf%ab%e6%8a%a5-2011-%e5%b9%b4-11-%e6%9c%88/</link>
		<comments>http://zhuwenhao.com/981/%e5%bf%97%e6%84%bf%e5%b7%a5%e4%bd%9c/ieee/ieee-%e4%b8%ad%e6%96%87%e5%bf%ab%e6%8a%a5-2011-%e5%b9%b4-11-%e6%9c%88/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 07:14:31 +0000</pubDate>
		<dc:creator>朱文昊 Albert Zhu</dc:creator>
				<category><![CDATA[IEEE]]></category>

		<guid isPermaLink="false">http://zhuwenhao.com/?p=981</guid>
		<description><![CDATA[IEEE 中文快报
2011 年 11 月
本期热点内容包括：
1）   IEEE 最近优惠信息
2）   IEEE 国内外要点新闻
3）   IEEE 在线讲座精选
4）   IEEE 会员风采
5）   IEEE E-Scientia 项目
IEEE 最近优惠信息
Myieee 新增打印会员证书功能 ，请在 www.ieee.org 主页上登录 myieee ，然后在最上面 hello 中找到 Member Certificate(PDF) ，可下载并打印会员证书。
现在加入 IEEE 将免费获得 IEEE 通信协会会员资格，会员福利即可开始！
IEEE 通信协会会员权益：
Ÿ     [...]]]></description>
			<content:encoded><![CDATA[<p>IEEE 中文快报<br />
2011 年 11 月<br />
本期热点内容包括：<br />
1）   IEEE 最近优惠信息<br />
2）   IEEE 国内外要点新闻<br />
3）   IEEE 在线讲座精选<br />
4）   IEEE 会员风采<br />
5）   IEEE E-Scientia 项目</p>
<p>IEEE 最近优惠信息</p>
<p>Myieee 新增打印会员证书功能 ，请在 www.ieee.org 主页上登录 myieee ，然后在最上面 hello 中找到 Member Certificate(PDF) ，可下载并打印会员证书。</p>
<p>现在加入 IEEE 将免费获得 IEEE 通信协会会员资格，会员福利即可开始！<br />
IEEE 通信协会会员权益：<br />
Ÿ    获得 IEEE Communications Magazine （包括所有过刊）和每月新闻；<br />
Ÿ    获得最新行业资源和技术文件；<br />
Ÿ    与世界各地的通信专家的交流机会。<br />
现在就从 http://www.comsoc.org/newjoinspecial_china 网站入口开始 IEEE 之旅吧。</p>
<p>IEEE 会员加入 IEEE 标准协会（ IEEE-SA ），个人会员可享受特殊折扣， 26.00 美元（原价 49.00 美元）。 IEEE &#8211; SA 是全球标准的领先开发商，标准涉及广泛的技术和产业，包括电力和能源，计算机技术（设计，自动化和云计算），通讯（无线网络），交通运输，以及智能电网，绿色科技，网络安全，等等。<br />
IEEE &#8211; SA 个人会员的权益：<br />
Ÿ    无限制的参与个人项目和投票<br />
Ÿ    发起新的标准<br />
Ÿ    担任工作组领导职务<br />
Ÿ    参与在 IEEE &#8211; SA 的董事会选举<br />
Ÿ    每月 IEEE &#8211; SA 的新闻简报<br />
Ÿ    购买 IEEE 标准享受折扣<br />
用帐号登录如下地址即可享受折扣：</p>
<p>https://sbwsweb.ieee.org/ecustomercme_enu/start.swe?SWECmd=GotoView&#038;SWEView=CUT+Home+Page+View+(eCustomer)&#038;src=0&#038;mem_type=Customer&#038;Join=n&#038;Prod=1-U3KFU3</p>
<p>IEEE 要点新闻<br />
2011 年 9 月 IEEE 推出了第一期“标准教育电子杂志“，该杂志提供和标准相关的学习，教学，使用，部署，制定和发展标准等内容，面向学生，教育工作者，从业者，标准制定者和标准用户，这是 IEEE 标准协会为建设造福人类社会的标准教育的重要举措。 IEEE 标准教育电子杂志是免费提供的。请在线查看创刊号 http://ieee-elearning.org/outreach/course/view.php?id=80<br />
10 月 14 日晚， IEEE 清华学生分会在独峰咖啡屋举行了一场别开生面的大师讲座，邀请到了 IEEE fellow 黄铠教授介绍云计算的生态环境，分享生活经历和故事。本次活动也是 清华大学第九期的“走进 Fellow ”活动，成为让更多同学了解 IEEE 的一次有益尝试。<br />
10 月 22 日 -23 日， IEEEXtreme 5.0 极限编程竞赛在全球拉开战幕。本次大赛 共有来自世界各地的 1515 支队参加，其中来自中国高校的共有 35 支队伍。清华大学 &#038; 上海交大的 fanwudi 队伍获得了全球第 8 名，进入全球 前 100 名中还有来自大连理工，清华大学和电子科大的参赛队伍。<br />
10 月 28 日上午， IEEE Fellow 和 Military Sensing Symposia （ MMS ） Fellow ，来自美国的 MARK E. DAVIS 博士在电子科技大学做“叶簇穿透雷达技术”的学术讲座。此次讲座由 AESS （ IEEE 航天电子系统协会）赞助，由电子科技大学 IEEE 学生分会筹办。<br />
2011 年 10 月，美国东西方研究所（ Eastwest Insititute ）将 Cybersecurity Award 颁发给了 IEEE ，从而奖励 IEEE 在 2009 年发布 “ROGUCCI” （ http://www.ieee-rogucci.org ）突破性的分析报告。该报告对承载横贯大陆的互联网流量的 99 ％的国际海底通信电缆进行了分析，并提出 12 个可行的解决方案。 10 月 13 日， IEEE 通信协会代表 IEEE 参加了在阿拉伯联合酋长国大使馆宴会厅举行的颁奖晚宴。<br />
2011 年 11 月 1 日， IEEE 合格评定程序（ ICAP ）和 Iometrix 宣布推出 IEEE 1588 &#8211; 2008 认证计划的试点阶段。将邀请领先的 IEEE 1588-2008 的解决方案供应商，包括设备和零部件制造商参加。有意获得参与 IEEE 1588-2008 联盟认证计划，请访问 ICAP 网站 http://www.ieee-isto.org/icap-program 或联系 IEEE 中国代表处。<br />
10 月 18 日， IEEE 宣布为庆祝 IBM 诞辰 100 周年而出版的 IBM 期刊（九月 / 十月）将在 IEEE Xplore® 中独家销售。<br />
10 月， IEC 和 IEEE 宣布设立 45,000 美元奖金挑战下一代创新技术，提交论文赢取大奖。更多内容请登陆 http://www.iecieeechallenge.org/<br />
10 月 24 国内高校软件工程教授组成的代表团访问了 IEEE 计算机协会在洛杉矶办公室，并和 IEEE 计算机协会主席一起讨论教育和培训方案，包括软件开发认证，并探讨可能的合作伙伴关系。<br />
11 月 7-9 日， IEEE 和外国专家局国际人才交流基金会在厦门联合举行了 IEEE CSDA 培训。<br />
11 月 8 日， IEEE 标准协会宣布，已批准启动一项新的研究组，以探索下一代 100 Gb / s 的以太网操作的光网络解决方案。该研究小组将调查新修订的 IEEE 802.3 ™以太网标准，以提高在 IEEE802.3ba ™ -2010 中定义的 100 Gb / s 以太网物理层（ PHY ）功能。该研究小组将研究在更狭窄和更快的接口上进行 100GB/ s 的操作，从而提供低成本高密度的 100GB/ s 的解决方案。<br />
更多新闻请访问 IEEE 中文网站 http://cn.ieee.org</p>
<p>IEEE 在线讲座精选<br />
IEEE Spectrum 系 列 讲座<br />
IEEE GOLD 系列 讲 座<br />
802.11n 和 802.11 （ 802.11n and Multi-Gigabit 802.11 ）<br />
最新 IEEE.TV 精彩内容（ http://www.ieee.tv/home ）</p>
<p>IEEE 会员风采<br />
Steve O ’ Donnell ，原英国电信数据中心全球负责人、 IEEE 会员，下面是 Donnell 对于中小企业驱动云计算的一些看法。<br />
“初创企业需要的是敏捷，他们关注的是费用和执行速度，而不是风险，因此更愿意迅速采取云计算平台，如 Gmail ，客户关系管理和会计核算平台等”<br />
“初创企业使用云计算，然后随着他们成长驱动云计算的发展，同时年轻的工程师和 IT 人员成长以后也将企业带入云计算时代。”<br />
然而 Donnell 解释说，周围的可靠性问题，数据安全，隐私等是目前许多规模较大的公司将需要花时间来克服的障碍。“他们往往不信任云，大多数公司将非关键应用放在云计算中，这将成为云计算投资的严重阻力。”<br />
Donnell 还指出，许多规模较大的公司使用两个关键服务的云供应商提供有效抵御潜在的中断的适应性，“运行在两家供应商，如果失败，第二个仍然可用，这可能削弱了成本的节约，但企业是愿意这样做，以确保连续性和数据恢复”。<br />
Donnell 还认为大多数担忧是关于 IT 经理的控制能力。他表示：“现在缺少工具，使企业能够以和数据中心中相同的方式管理云中的安全性和可用性。 企业相信自己的数据中心是安全有效的，他们希望能够由自己管理云的安全性和可用性，而不是把它外包给第三方。”<br />
更多关于云计算和前沿技术报告，请阅读 IEEE 特别报道“ 10 年间的 11 大前沿技术”</p>
<p>http://spectrum.ieee.org/static/special-report-top-11-technologies-of-the-decade</p>
<p>IEEE E-Scientia 项目<br />
IEEE E-Scientia 是 IEEE 在过去 10 年中与科技馆和社区中心合作开展的首次严肃性试验项目，开发供大学预科学生参与和互动的展会。在 2011 年 7 月， E-Scientia 世界研讨会在乌拉圭举行，目的是讨论在全球范围内向 IEEE 领域的科技馆推出名为 E-Scientia 的体验式展览，并制订拓展规划。活动包括 E-Scientia 展览演示，讨论教材改进，并计划通过与当地科技馆的合作关系拓展展览范围。<br />
研讨会参与者有机会看到由 IEEE 学生会员带领当地中学生进行的 E-Scientia 展览现场演示。在体验过程中，以十名学生为一组，分组进入 “ 类似航天飞机 ” 的模型结构中，以 “ 船员 ” 身份参加一次飞行任务。在此期间，学生们接受电气和电子基本原理的基本培训。每个工作站的计算机为学生们演示如何装配电子线路，为飞船分别提供电力、推进、通信、生命维护和防御措施。 IEEE 主席 Moshe Kam 参加了该研讨会，并认为 E-Scientia 展览的独特性质和优势之一是能够让学生感到学习工程学很有趣也不令人生畏。<br />
IEEE 计划将此项目在中国推广，设备可在国内当地制造，经验丰富的人员对组装和调试模块应该没有问题，还可提供视频， IEEE 专业工作人员将对此项目进行全程指导。请联系 IEEE 中国代表处索要更多信息。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhuwenhao.com/981/%e5%bf%97%e6%84%bf%e5%b7%a5%e4%bd%9c/ieee/ieee-%e4%b8%ad%e6%96%87%e5%bf%ab%e6%8a%a5-2011-%e5%b9%b4-11-%e6%9c%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于呼吸防护标准的说明 N95 N99 N100口罩 FFP1 FFP2 FFP3口罩</title>
		<link>http://zhuwenhao.com/975/%e7%a7%91%e5%ad%a6/%e5%8c%bb%e5%ad%a6/%e5%85%b3%e4%ba%8e%e5%91%bc%e5%90%b8%e9%98%b2%e6%8a%a4%e6%a0%87%e5%87%86%e7%9a%84%e8%af%b4%e6%98%8e-n95-n99-n100%e5%8f%a3%e7%bd%a9-ffp1-ffp2-ffp3%e5%8f%a3%e7%bd%a9/</link>
		<comments>http://zhuwenhao.com/975/%e7%a7%91%e5%ad%a6/%e5%8c%bb%e5%ad%a6/%e5%85%b3%e4%ba%8e%e5%91%bc%e5%90%b8%e9%98%b2%e6%8a%a4%e6%a0%87%e5%87%86%e7%9a%84%e8%af%b4%e6%98%8e-n95-n99-n100%e5%8f%a3%e7%bd%a9-ffp1-ffp2-ffp3%e5%8f%a3%e7%bd%a9/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 05:36:34 +0000</pubDate>
		<dc:creator>朱文昊 Albert Zhu</dc:creator>
				<category><![CDATA[医学]]></category>

		<guid isPermaLink="false">http://zhuwenhao.com/?p=975</guid>
		<description><![CDATA[前几天街上的空气真的好差，到处都是不能散去的汽车尾气和灰尘。据美国大使馆提供的资料，很小的污染物颗粒，会进入肺部和循环系统并无法被人体排出。为了健康，我买了3M的口罩和呼吸面具，顺便了解了各种不同的防护标准，下文是转载的资料，原文地址.
各国防尘口罩的国家标准不同，对比起来各有侧重。在防病毒方面，我国疾控中心在流行病职业暴露工作人员防护级别二级中要求，口罩过滤标准要达到FFP2或N95标准。鉴于国内现在对FFP标准尚认识不足，现对二者做简要的对比：
(1)、FFP标准：即呼吸防护的欧洲标准。以下是标准的具体参数：
CE149：2001测试：测试机型：TS18130
　　　　　测试物质：NaCl [...]]]></description>
			<content:encoded><![CDATA[<p>前几天街上的空气真的好差，到处都是不能散去的汽车尾气和灰尘。据<a href="http://chinese.usembassy-china.org.cn/070109air.html" target="_blank">美国大使馆提供的资料</a>，很小的污染物颗粒，会进入肺部和循环系统并无法被人体排出。为了健康，我买了3M的口罩和呼吸面具，顺便了解了各种不同的防护标准，下文是转载的资料，<a href="http://hi.baidu.com/hesppe1/blog/item/9696d21ba855c90f413417dc.html" target="_blank">原文地址</a>.</p>
<div>各国防尘口罩的国家标准不同，对比起来各有侧重。在防病毒方面，我国疾控中心在流行病职业暴露工作人员防护级别二级中要求，口罩过滤标准要达到<span style="font-family: Times;">FFP2</span>或<span style="font-family: Times;">N95</span>标准。鉴于国内现在对<span style="font-family: Times;">FFP</span>标准尚认识不足，现对二者做简要的对比：</div>
<div><span style="font-family: Times;">(1)</span>、<span style="font-family: Times;">FFP</span>标准：即呼吸防护的欧洲标准。以下是标准的具体参数：</div>
<div><span style="font-family: Times;">CE149</span>：<span style="font-family: Times;">2001</span>测试：测试机型：<span style="font-family: Times;">TS18130</span></div>
<div><strong>　　　　　</strong>测试物质：<span style="font-family: Times;">NaCl&amp;DOP</span><span style="font-size: small;"><span style="font-family: Times;">     </span>粒径：<span style="font-family: Times;">0.3</span>μ<span style="font-family: Times;">m        </span>测试流速：</span><span style="font-family: Times;">95L/Min</span></div>
<table width="490" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="56">
<div align="center">等级</div>
</td>
<td valign="top" width="147">
<div style="text-align: center;"><span style="font-family: Times;">Penetration </span>渗透率</div>
</td>
<td valign="top" width="133">
<div style="text-align: center;">捕集率</div>
</td>
<td valign="top" width="154">
<div align="center"><span style="font-family: Times;">Resistant </span>阻抗</div>
</td>
</tr>
<tr>
<td valign="top" width="56">
<div align="center"><span style="font-family: Times;">FFP1</span></div>
</td>
<td valign="top" width="147">
<div style="text-align: center;"><span style="font-family: Times;">20%</span></div>
</td>
<td valign="top" width="133">
<div style="text-align: center;">≥<span style="font-family: Times;">80%</span></div>
</td>
<td valign="top" width="154">
<div align="center"><span style="font-family: Times;">21mm H<sub><span style="font-size: x-small;">2</span></sub>O</span></div>
</td>
</tr>
<tr>
<td valign="top" width="56">
<div align="center"><span style="font-family: Times;">FFP2</span></div>
</td>
<td valign="top" width="147">
<div style="text-align: center;"><span style="font-family: Times;">6%</span></div>
</td>
<td valign="top" width="133">
<div style="text-align: center;"><span style="font-size: small;">≥</span><span style="font-family: Times;">94%</span></div>
</td>
<td valign="top" width="154">
<div align="center"><span style="font-family: Times;">24mm H<sub><span style="font-size: x-small;">2</span></sub>O</span></div>
</td>
</tr>
<tr>
<td valign="top" width="56">
<div align="center"><span style="font-family: Times;">FFP3</span></div>
</td>
<td valign="top" width="147">
<div style="text-align: center;"><span style="font-family: Times;">1%</span></div>
</td>
<td valign="top" width="133">
<div style="text-align: center;">≥<span style="font-family: Times;">99%</span></div>
</td>
<td valign="top" width="154">
<div align="center"><span style="font-family: Times;">30mm H<sub><span style="font-size: x-small;">2</span></sub>O</span></div>
</td>
</tr>
</tbody>
</table>
<div align="left"><span style="font-family: Times;">(2)</span>、<span style="font-family: Times;">N</span>标准：是呼吸防护的美国标准。以下是标准的具体参数：</div>
<div align="left"><span style="font-family: Times;">NIOSH</span>标准，<span style="font-size: small;"><span style="font-family: Times;"> </span>测试机型：</span><span style="font-family: Times;">TS18130</span></div>
<div align="left">测试物质：<span style="font-family: Times;">NaCl<span style="font-size: small;">   </span></span>粒径：<span style="font-family: Times;">0.3</span>μ<span style="font-family: Times;">m<span style="font-size: small;"> </span></span>测试流速：<span style="font-family: Times;">85L/Min</span></div>
<table width="492" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="59">
<div align="center">等级</div>
</td>
<td valign="top" width="145">
<div style="text-align: center;"><span style="font-family: Times;">Penetration</span>渗透率</div>
</td>
<td valign="top" width="132">
<div style="text-align: center;">捕集率</div>
</td>
<td style="text-align: center;" valign="top" width="156">
<div align="center"><span style="font-family: Times;">Resistant </span>阻抗</div>
</td>
</tr>
<tr>
<td valign="top" width="59">
<div align="center"><span style="font-family: Times;">N95</span></div>
</td>
<td valign="top" width="145">
<div style="text-align: center;" align="center"><span style="font-family: Times;">5%</span></div>
</td>
<td valign="top" width="132">
<div style="text-align: center;">≥<span style="font-family: Times;">95%</span></div>
</td>
<td valign="top" width="156">
<div style="text-align: center;"><span style="font-family: Times;">35mm H<sub><span style="font-size: x-small;">2</span></sub>O</span></div>
</td>
</tr>
<tr>
<td valign="top" width="59">
<div align="center"><span style="font-family: Times;">N99</span></div>
</td>
<td valign="top" width="145">
<div style="text-align: center;" align="center"><span style="font-family: Times;">1%</span></div>
</td>
<td valign="top" width="132">
<div style="text-align: center;"><span style="font-size: small;">≥</span><span style="font-family: Times;">99%</span></div>
</td>
<td valign="top" width="156">
<div style="text-align: center;"><span style="font-family: Times;"><span style="font-size: small;">35mm H<sub><span style="font-size: x-small;">2</span></sub>O</span></span></div>
</td>
</tr>
<tr>
<td style="text-align: center;" valign="top" width="59">
<div align="center"><span style="font-family: Times;">N100</span></div>
</td>
<td style="text-align: center;" valign="top" width="145">
<div style="text-align: center;" align="center"><span style="font-family: Times;">0.03%</span></div>
</td>
<td valign="top" width="132">
<div style="text-align: center;"><span style="font-size: small;">≥</span><span style="font-family: Times;">99.97%</span></div>
</td>
<td valign="top" width="156">
<div style="text-align: center;"><span style="font-family: Times;">35mm H<sub><span style="font-size: x-small;">2</span></sub>O</span></div>
</td>
</tr>
</tbody>
</table>
<div align="left"><span style="font-size: small;">备注：<span style="font-family: Times;">NaCl： </span>氯化钠（食盐）；<span style="font-family: Times;">DOP</span>：石蜡油　</span></div>
<div>两者的测试使用的是一样的机器，使用<span style="font-family: Times;">NaCl</span>做测试用的污染物，混合<span style="font-family: Times;">DOP</span>代表可以防护油性的粉尘。<span style="font-family: Times;">FFP2</span>标准中，口罩对灰尘的捕集率为大于等于<span style="font-family: Times;">94</span>％，小于<span style="font-family: Times;">N95</span>捕集率一个百分点，然而测试时每分钟通过的气流量是不同的，欧标为<span style="font-family: Times;">95</span>升<span style="font-family: Times;">/</span>分钟，美标为<span style="font-family: Times;">85</span>升<span style="font-family: Times;">/</span>分钟。同时，阻抗值高低代表着使用口罩时，口罩对呼吸的阻碍程度，值越大则呼吸越受阻碍，二者的舒适程度不同。</div>
<div>
<blockquote>
<div>朱文昊 注：阻抗率中的 mm H<sub>2</sub>O 是压强单位毫米水柱。1千帕约等于102毫米水柱，一毫米水柱约等于1/102千帕。另外 PM2.5指直径2.5微米的颗粒物，标准中提到的0.3微米测试颗粒比PM2.5小很多。我最终选择了FFP3标准的产品。</div>
</blockquote>
</div>
]]></content:encoded>
			<wfw:commentRss>http://zhuwenhao.com/975/%e7%a7%91%e5%ad%a6/%e5%8c%bb%e5%ad%a6/%e5%85%b3%e4%ba%8e%e5%91%bc%e5%90%b8%e9%98%b2%e6%8a%a4%e6%a0%87%e5%87%86%e7%9a%84%e8%af%b4%e6%98%8e-n95-n99-n100%e5%8f%a3%e7%bd%a9-ffp1-ffp2-ffp3%e5%8f%a3%e7%bd%a9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>深入理解C语言</title>
		<link>http://zhuwenhao.com/968/%e6%8a%80%e6%9c%af/%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1%e8%af%ad%e8%a8%80/c-%e8%af%ad%e8%a8%80/%e6%b7%b1%e5%85%a5%e7%90%86%e8%a7%a3c%e8%af%ad%e8%a8%80/</link>
		<comments>http://zhuwenhao.com/968/%e6%8a%80%e6%9c%af/%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1%e8%af%ad%e8%a8%80/c-%e8%af%ad%e8%a8%80/%e6%b7%b1%e5%85%a5%e7%90%86%e8%a7%a3c%e8%af%ad%e8%a8%80/#comments</comments>
		<pubDate>Fri, 04 Nov 2011 13:01:03 +0000</pubDate>
		<dc:creator>朱文昊 Albert Zhu</dc:creator>
				<category><![CDATA[C 语言]]></category>

		<guid isPermaLink="false">http://zhuwenhao.com/?p=968</guid>
		<description><![CDATA[轉載自本站友情鏈接的coolshell，原文鏈接。
朱文昊評註：感謝Ritchie等先驅，他們的聰明才智和貢獻令人欽佩萬分。C語言的很多特性都有歷史的影子，隨著時間的流逝歷史逐漸沈積為基石。這樣，要學好用好C語言，除了可以多瞭解一下計算機科學的發展史，更應該多瞭解一些硬件相關的東西。推薦延伸閱讀資料：《C語言缺陷於陷阱》以及《C語言專家編程》
&#160;
Dennis Ritchie  过世了，他发明了C语言，一个影响深远并彻底改变世界的计算机语言。一门经历40多年的到今天还长盛不衰的语言，今天很多语言都受到C的影响，C++，Java，C#，Perl， PHP， Javascript，  [...]]]></description>
			<content:encoded><![CDATA[<p>轉載自本站友情鏈接的coolshell，<a href="http://coolshell.cn/articles/5761.html" target="_blank">原文鏈接</a>。</p>
<blockquote><p>朱文昊評註：感謝Ritchie等先驅，他們的聰明才智和貢獻令人欽佩萬分。C語言的很多特性都有歷史的影子，隨著時間的流逝歷史逐漸沈積為基石。這樣，要學好用好C語言，除了可以多瞭解一下計算機科學的發展史，更應該多瞭解一些硬件相關的東西。推薦延伸閱讀資料：《C語言缺陷於陷阱》以及《C語言專家編程》</p>
<p>&nbsp;</p></blockquote>
<p>Dennis Ritchie  过世了，他发明了C语言，一个影响深远并彻底改变世界的计算机语言。一门经历40多年的到今天还长盛不衰的语言，今天很多语言都受到C的影响，C++，Java，C#，Perl， PHP， Javascript， 等等。但是，你对C了解吗？相信你看过本站的《<a href="http://coolshell.cn/articles/945.html">C语言的谜题</a>》还有《<a href="http://coolshell.cn/articles/873.html">谁说C语言很简单？</a>》，这里，我再写一篇关于深入理解C语言的文章，一方面是缅怀Dennis，另一方面是告诉大家应该如何学好一门语言。（顺便注明一下，下面的一些例子来源于<a href="http://www.slideshare.net/olvemaudal/deep-c">这个slides</a>）</p>
<p>首先，我们先来看下面这个经典的代码：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p968code9'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p9689"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p968code9"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #993333;">int</span> a <span style="color: #339933;">=</span> <span style="color: #0000dd;">42</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span>“<span style="color: #339933;">%</span>d\n”<span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>从这段代码里你看到了什么问题？我们都知道，这段程序里少了一个#include &lt;stdio.h&gt; 还少了一个return 0;的返回语句。</p>
<p>不过，让我们来深入的学习一下，</p>
<ul>
<li>这段代码在C++下无法编译，因为C++需要明确声明函数</li>
<li>这段代码在C的编译器下会编译通过，因为在编译期，编译器会生成一个printf的函数定义，并生成.o文件，链接时，会找到标准的链接库，所以能编译通过。</li>
<li> 但是，你知道这段程序的退出码吗？在ANSI-C下，退出码是一些未定义的垃圾数。但在C89下，退出码是3，因为其取了printf的返回值。为什么printf函数返回3呢？因为其输出了’4′, ’2′,’\n’ 三个字符。而在C99下，其会返回0，也就是成功地运行了这段程序。你可以使用gcc的 -std=c89或是-std=c99来编译上面的程序看结果。</li>
<li>另外，我们还要注意main()，在C标准下，如果一个函数不要参数，应该声明成main(void)，而main()其实相当于main(…)，也就是说其可以有任意多的参数。</li>
</ul>
<p>我们再来看一段代码：</p>
<p>&nbsp;</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p968code10'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p96810"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
</pre></td><td class="code" id="p968code10"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #993333;">void</span> f<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #993333;">static</span> <span style="color: #993333;">int</span> a <span style="color: #339933;">=</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">static</span> <span style="color: #993333;">int</span> b<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">int</span> c<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #339933;">++</span>a<span style="color: #339933;">;</span> <span style="color: #339933;">++</span>b<span style="color: #339933;">;</span> <span style="color: #339933;">++</span>c<span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;a=%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;b=%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> b<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;c=%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> c<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#123;</span>
&nbsp;
f<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
f<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
f<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>这个程序会输出什么？</p>
<ul>
<li>我相信你对a的输出相当有把握，就分别是4，5，6，因为那个静态变量。</li>
<li>对于c呢，你应该也比较肯定，那是一堆乱数。</li>
<li>但是你可能不知道b的输出会是什么？答案是1，2，3。为什么和c不一样呢？因为，如果要初始化，每次调用函数里，编译器都要初始化函数栈空间，这太费性能了。但是c的编译器会初始化静态变量为0，因为这只是在启动程序时的动作。</li>
<li>全局变量同样会被初始化。</li>
</ul>
<p>说到全局变量，你知道 静态全局变量和一般全局变量的差别吗？是的，对于static 的全局变量，其对链接器不可以见，也就是说，这个变量只能在当前文件中使用。</p>
<p>我们再来看一个例子：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p968code11'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p96811"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
</pre></td><td class="code" id="p968code11"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #993333;">void</span> foo<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #993333;">int</span> a<span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> bar<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #993333;">int</span> a <span style="color: #339933;">=</span> <span style="color: #0000dd;">42</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#123;</span>
&nbsp;
bar<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
foo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>你知道这段代码会输出什么吗？A) 一个随机值，B) 42。A 和 B都对（在“<a href="http://coolshell.cn/articles/4907.html">在函数外存取局部变量的一个比喻</a>”文中的最后给过这个例子），不过，你知道为什么吗？</p>
<ul>
<li>如果你使用一般的编译，会输出42，因为我们的编译器优化了函数的调用栈（重用了之前的栈），为的是更快，这没有什么副作用。反正你不初始化，他就是随机值，既然是随机值，什么都无所谓。</li>
<li>但是，如果你的编译打开了代码优化的开关，-O，这意味着，foo()函数的代码会被优化成main()里的一个inline函数，也就是说没有函数调用，就像宏定义一样。于是你会看到一个随机的垃圾数。</li>
</ul>
<p>下面，我们再来看一个示例：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p968code12'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p96812"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code" id="p968code12"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #993333;">int</span> b<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span>“<span style="color: #0000dd;">3</span>”<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">return</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">int</span> c<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span>“<span style="color: #0000dd;">4</span>”<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">return</span> <span style="color: #0000dd;">4</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #993333;">int</span> a <span style="color: #339933;">=</span> b<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> c<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span>“<span style="color: #339933;">%</span>d\n”<span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>这段程序会输出什么？，你会说是，3，4，7。但是我想告诉你，这也有可能输出，4，3，7。为什么呢？ 这是因为，在C/C++中，表达的评估次序是没有标准定义的。编译器可以正着来，也可以反着来，所以，不同的编译器会有不同的输出。你知道这个特性以后，你就知道这样的程序是没有可移植性的。</p>
<p>我们再来看看下面的这堆代码，他们分别输出什么呢？</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p968code13'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p96813"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p968code13"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">int</span> a<span style="color: #339933;">=</span><span style="color: #0000dd;">41</span><span style="color: #339933;">;</span> a<span style="color: #339933;">++;</span> <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span>“<span style="color: #339933;">%</span>d\n”<span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">int</span> a<span style="color: #339933;">=</span><span style="color: #0000dd;">41</span><span style="color: #339933;">;</span> a<span style="color: #339933;">++</span> <span style="color: #339933;">&amp;</span> <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span>“<span style="color: #339933;">%</span>d\n”<span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">int</span> a<span style="color: #339933;">=</span><span style="color: #0000dd;">41</span><span style="color: #339933;">;</span> a<span style="color: #339933;">++</span> <span style="color: #339933;">&amp;&amp;</span> <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span>“<span style="color: #339933;">%</span>d\n”<span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">int</span> a<span style="color: #339933;">=</span><span style="color: #0000dd;">41</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>a<span style="color: #339933;">++</span> <span style="color: #339933;">&lt;</span> <span style="color: #0000dd;">42</span><span style="color: #009900;">&#41;</span> <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span>“<span style="color: #339933;">%</span>d\n”<span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">int</span> a<span style="color: #339933;">=</span><span style="color: #0000dd;">41</span><span style="color: #339933;">;</span> a <span style="color: #339933;">=</span> a<span style="color: #339933;">++;</span> <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span>“<span style="color: #339933;">%</span>d\n”<span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>只有示例一，示例三，示例四输出42，而示例二和五的行为则是未定义的。关于这种未定义的东西是因为Sequence Points的影响（Sequence Points是一种规则，也就是程序执行的序列点，在两点之间的表达式只能对变量有一次修改），因为这会让编译器不知道在一个表达式顺列上如何存取变量的值。比如a = a++，a + a++，不过，在C中，这样的情况很少。</p>
<p>下面，再看一段代码：（假设int为4字节，char为1字节）</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p968code14'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p96814"><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code" id="p968code14"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">struct</span> X <span style="color: #009900;">&#123;</span> <span style="color: #993333;">int</span> a<span style="color: #339933;">;</span> <span style="color: #993333;">char</span> b<span style="color: #339933;">;</span> <span style="color: #993333;">int</span> c<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d,&quot;</span><span style="color: #339933;">,</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">struct</span> X<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #993333;">struct</span> Y <span style="color: #009900;">&#123;</span> <span style="color: #993333;">int</span> a<span style="color: #339933;">;</span> <span style="color: #993333;">char</span> b<span style="color: #339933;">;</span> <span style="color: #993333;">int</span> c<span style="color: #339933;">;</span> <span style="color: #993333;">char</span> d<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">struct</span> Y<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>这个代码会输出什么?</p>
<p>a) 9，10<br />
b)12, 12<br />
c)12, 16</p>
<p>答案是C，我想，你一定知道字节对齐，是向4的倍数对齐。</p>
<ul>
<li>但是，你知道为什么要字节对齐吗？还是因为性能。因为这些东西都在内存里，如果不对齐的话，我们的编译器就要向内存一个字节一个字节的取，这样一来，struct X，就需要取9次，太浪费性能了，而如果我一次取4个字节，那么我三次就搞定了。所以，这是为了性能的原因。</li>
<li>但是，为什么struct Y不向12 对齐，却要向16对齐，因为char d; 被加在了最后，当编译器计算一个结构体的尺寸时，是边计算，边对齐的。也就是说，编译器先看到了int，很好，4字节，然后是 char，一个字节，而后面的int又不能填上还剩的3个字节，不爽，把char b对齐成4，于是计算到d时，就是13 个字节，于是就是16啦。但是如果换一下d和c的声明位置，就是12了。</li>
</ul>
<p>另外，再提一下，上述程序的printf中的%d并不好，因为，在64位下，sizeof的size_t是unsigned long，而32位下是 unsigned int，所以，C99引入了一个专门给size_t用的%zu。这点需要注意。在64位平台下，C/C++ 的编译需要注意很多事。你可以参看《<a href="http://coolshell.cn/articles/3512.html">64位平台C/C++开发注意事项</a>》。</p>
<p>下面，我们再说说编译器的Warning，请看代码：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p968code15'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p96815"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code" id="p968code15"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #993333;">int</span> a<span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%d<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>考虑下面两种编译代码的方式 ：</p>
<ul>
<li>cc -Wall a.c</li>
<li>cc -Wall -O a.c</li>
</ul>
<p>前一种是不会编译出a未初化的警告信息的，而只有在-O的情况下，才会有未初始化的警告信息。这点就是为什么我们在makefile里的CFLAGS上总是需要-Wall和 -O。</p>
<p>最后，我们再来看一个指针问题，你看下面的代码：</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p968code16'); return false;">View Code</a> C</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p96816"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code" id="p968code16"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #993333;">int</span> a<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">5</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%x<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%x<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> a<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%x<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>a<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;%x<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>a<span style="color: #339933;">+</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>假如我们的a的地址是：0Xbfe2e100, 而且是32位机，那么这个程序会输出什么？</p>
<ul>
<li>第一条printf语句应该没有问题，就是 bfe2e100</li>
<li>第二条printf语句你可能会以为是bfe2e101。那就错了，a+1，编译器会编译成 a+ 1*sizeof(int)，int在32位下是4字节，所以是加4，也就是bfe2e104</li>
<li>第三条printf语句可能是你最头疼的，我们怎么知道a的地址？我不知道吗？可不就是bfe2e100。那岂不成了a==&amp;a啦？这怎么可能？自己存自己的？也许很多人会觉得指针和数组是一回事，那么你就错了。如果是 int *a，那么没有问题，因为a是指针，所以 &amp;a 是指针的地址，a 和 &amp;a不一样。但是这是数组啊a[]，所以&amp;a其实是被编译成了 &amp;a[0]。</li>
<li>第四条printf语句就很自然了，就是bfe2e104。还是不对，因为是&amp;a是数组，被看成int(*)[5]，所以sizeof(a)是5，也就是5*sizeof(int)，也就是bfe2e114。</li>
</ul>
<p>看过这么多，你可能会觉得C语言设计得真扯淡啊。不过我要告诉下面几点Dennis当初设计C语言的初衷：</p>
<p><strong>1）相信程序员，不阻止程序员做他们想做的事。</strong></p>
<p><strong>2）保持语言的简洁，以及概念上的简单。</strong></p>
<p><strong>3）保证性能，就算牺牲移植性。</strong></p>
<p>今天很多语言进化得很高级了，语法也越来越复杂和强大，但是C语言依然光芒四射，Dennis离世了，但是C语言的这些设计思路将永远不朽。</p>
<p><strong>（请勿用于商业用途，转载时请注明作者和出处）</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://zhuwenhao.com/968/%e6%8a%80%e6%9c%af/%e7%a8%8b%e5%ba%8f%e8%ae%be%e8%ae%a1%e8%af%ad%e8%a8%80/c-%e8%af%ad%e8%a8%80/%e6%b7%b1%e5%85%a5%e7%90%86%e8%a7%a3c%e8%af%ad%e8%a8%80/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>提供最新，最完整的Android源代码压缩包下载</title>
		<link>http://zhuwenhao.com/950/%e6%8a%80%e6%9c%af/%e8%87%aa%e7%94%b1%e8%bd%af%e4%bb%b6%e7%a4%be%e5%8c%ba/android/%e6%8f%90%e4%be%9b%e6%9c%80%e6%96%b0%ef%bc%8c%e6%9c%80%e5%ae%8c%e6%95%b4%e7%9a%84android%e6%ba%90%e4%bb%a3%e7%a0%81%e5%8e%8b%e7%bc%a9%e5%8c%85%e4%b8%8b%e8%bd%bd/</link>
		<comments>http://zhuwenhao.com/950/%e6%8a%80%e6%9c%af/%e8%87%aa%e7%94%b1%e8%bd%af%e4%bb%b6%e7%a4%be%e5%8c%ba/android/%e6%8f%90%e4%be%9b%e6%9c%80%e6%96%b0%ef%bc%8c%e6%9c%80%e5%ae%8c%e6%95%b4%e7%9a%84android%e6%ba%90%e4%bb%a3%e7%a0%81%e5%8e%8b%e7%bc%a9%e5%8c%85%e4%b8%8b%e8%bd%bd/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 17:02:22 +0000</pubDate>
		<dc:creator>朱文昊 Albert Zhu</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://zhuwenhao.com/?p=950</guid>
		<description><![CDATA[我的Blog里，提供了几种Android源码下载的文章是最受欢迎的了。看来真的又很多人需要打包好的Android源码。
所以我会把自己一个服务器300G的硬盘空间中的大部分拿出来存储和分享Android源代码。如果你需要Android源代码，你可以去看看http://d.zhu.im/android/
如果你要链接到我的文件，最好能再页面上放置友情链接、说句谢谢之类的，我就很开心了。
除了再2011年10月24日以前生成的文件，是我手动产生的，所以会长期保留之外，建议你不要静态链接到源码压缩包，因为硬盘空间不够的时候，旧文件会被删除。我提供了符号链接，你查找名字类似  [...]]]></description>
			<content:encoded><![CDATA[<p>我的Blog里，提供了几种Android源码下载的文章是最受欢迎的了。看来真的又很多人需要打包好的Android源码。<br />
所以我会把自己一个服务器300G的硬盘空间中的大部分拿出来存储和分享Android源代码。如果你需要Android源代码，你可以去看看<a href="http://d.zhu.im/android/" target="_blank">http://d.zhu.im/android/</a><br />
如果你要链接到我的文件，最好能再页面上放置友情链接、说句谢谢之类的，我就很开心了。<br />
除了再2011年10月24日以前生成的文件，是我手动产生的，所以会长期保留之外，建议你不要静态链接到源码压缩包，因为硬盘空间不够的时候，旧文件会被删除。我提供了符号链接，你查找名字类似 “latest-android-&#8217;$VERSION-ID&#8217;.tar.gz”这样的文件，链接到他，可以指向最新同步好的文件。<br />
目前提供三个版本的源码包。<br />
如果你需要其他版本，请提供版本号。如何提供版本号？请先读一下我的自动更新脚本。<br />
我的300G服务器是CentOS的，没法容易地repo sync.所以我写了一个脚本运行在一个Ubuntu机器上。现在地想法是每周运行一次。这个周期是否需要调整，也看各位的反馈了。<br />
脚本如下：<br />
<span id="more-950"></span></p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p950code18'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p95018"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
</pre></td><td class="code" id="p950code18"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #007800;">LOG_FILE</span>=tmp.output.log
<span style="color: #007800;">SVR_LOG</span>=~<span style="color: #000000; font-weight: bold;">/</span>log.reposync.log
<span style="color: #007800;">SYNC_DATE</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">&quot;+%Y%m%d&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#rm -rf android-*</span>
make_latest_link <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
        <span style="color: #007800;">VER</span>=$<span style="color: #000000; font-weight: bold;">@</span>
        <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-sf</span> android-<span style="color: #007800;">$SYNC_DATE</span>-<span style="color: #007800;">$VER</span>.tar.bz2 latest-android-<span style="color: #007800;">$VER</span>.tar.bz2
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;ln -sf android-<span style="color: #007800;">$SYNC_DATE</span>-<span style="color: #007800;">$VER</span>.tar.bz2 latest-android-<span style="color: #007800;">$VER</span>.tar.bz2&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        rsync <span style="color: #660033;">-l</span> latest-android-<span style="color: #007800;">$VER</span>.tar.bz2 d.zhu.im:<span style="color: #000000; font-weight: bold;">/</span>d<span style="color: #000000; font-weight: bold;">/</span>android<span style="color: #000000; font-weight: bold;">/</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;uploaded latest symbol link by rsync&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
f_check_log_err <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
        <span style="color: #007800;">ERR_NUM</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-c</span> <span style="color: #ff0000;">'error'</span> <span style="color: #007800;">$LOG_FILE</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
        <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$ERR_NUM</span>&quot;</span> <span style="color: #660033;">-ne</span> <span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
        <span style="color: #000000; font-weight: bold;">then</span>
                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Some Error occurred ERR_NUM=<span style="color: #007800;">$ERR_NUM</span>.&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
                <span style="color: #c20cb9; font-weight: bold;">tail</span> <span style="color: #660033;">-10</span> tmp.output.log <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;rm current folder&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
                <span style="color: #7a0874; font-weight: bold;">cd</span> ..
                <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #007800;">$FOLDER_NAME</span>
                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;quit in false&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
                <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>
        <span style="color: #000000; font-weight: bold;">else</span>
                <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;check tmp log PASS&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        <span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
upload_new_android <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #7a0874; font-weight: bold;">&#123;</span>
        <span style="color: #007800;">VERSION</span>=$<span style="color: #000000; font-weight: bold;">@</span>
        <span style="color: #007800;">FOLDER_NAME</span>=android-<span style="color: #007800;">$SYNC_DATE</span>-<span style="color: #007800;">$VERSION</span>
        <span style="color: #007800;">RUN_SH_DATE</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">&quot;+%Y%m%d%H%M%S&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Sync start date and time: <span style="color: #007800;">$RUN_SH_DATE</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Working Repo version is <span style="color: #007800;">$VERSION</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #007800;">$FOLDER_NAME</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;mkdir <span style="color: #007800;">$FOLDER_NAME</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #007800;">$FOLDER_NAME</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;repo init start&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        repo init <span style="color: #660033;">-u</span> https:<span style="color: #000000; font-weight: bold;">//</span>android.googlesource.com<span style="color: #000000; font-weight: bold;">/</span>platform<span style="color: #000000; font-weight: bold;">/</span>manifest <span style="color: #660033;">-b</span> android-<span style="color: #007800;">$VERSION</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$LOG_FILE</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        f_check_log_err <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;repo sync start&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        repo <span style="color: #c20cb9; font-weight: bold;">sync</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$LOG_FILE</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        f_check_log_err <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        <span style="color: #7a0874; font-weight: bold;">cd</span> ..
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;tar start&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        <span style="color: #c20cb9; font-weight: bold;">tar</span> cjf <span style="color: #007800;">$FOLDER_NAME</span>.tar.bz2 <span style="color: #007800;">$FOLDER_NAME</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;md5sum start&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        md5sum <span style="color: #007800;">$FOLDER_NAME</span>.tar.bz2 <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$FOLDER_NAME</span>.tar.bz2.md5.txt
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;sha1sum start&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        sha1sum <span style="color: #007800;">$FOLDER_NAME</span>.tar.bz2 <span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$FOLDER_NAME</span>.tar.bz2.sha1.txt
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;upload start&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        <span style="color: #c20cb9; font-weight: bold;">scp</span> <span style="color: #007800;">$FOLDER_NAME</span>.tar.bz2<span style="color: #000000; font-weight: bold;">*</span> d.zhu.im:<span style="color: #000000; font-weight: bold;">/</span>d<span style="color: #000000; font-weight: bold;">/</span>android<span style="color: #000000; font-weight: bold;">/</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        <span style="color: #666666; font-style: italic;">#make latest symbol link and upload by rsync -l</span>
        make_latest_link <span style="color: #007800;">$VERSION</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;rm -rf <span style="color: #007800;">$FOLDER_NAME</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
        <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-rf</span> <span style="color: #007800;">$FOLDER_NAME</span><span style="color: #000000; font-weight: bold;">*</span>
        <span style="color: #007800;">RUN_SH_DATE</span>=<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">&quot;+%Y%m%d%H%M%S&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;finished ALL at time: <span style="color: #007800;">$RUN_SH_DATE</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>gt; <span style="color: #007800;">$SVR_LOG</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&amp;</span>gt;<span style="color: #000000; font-weight: bold;">&amp;</span>amp;<span style="color: #000000;">1</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
upload_new_android 2.2.2_r1
upload_new_android <span style="color: #000000;">2.3</span>_r1
upload_new_android 2.3.7_r1</pre></td></tr></table></div>

<p>大家看到这里，应该知道版本号是什么意思了。如果你需要什么，请告诉我。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhuwenhao.com/950/%e6%8a%80%e6%9c%af/%e8%87%aa%e7%94%b1%e8%bd%af%e4%bb%b6%e7%a4%be%e5%8c%ba/android/%e6%8f%90%e4%be%9b%e6%9c%80%e6%96%b0%ef%bc%8c%e6%9c%80%e5%ae%8c%e6%95%b4%e7%9a%84android%e6%ba%90%e4%bb%a3%e7%a0%81%e5%8e%8b%e7%bc%a9%e5%8c%85%e4%b8%8b%e8%bd%bd/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>监测Apache运行状态，如果崩溃就重启Apache</title>
		<link>http://zhuwenhao.com/948/%e6%8a%80%e6%9c%af/%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%92%8c%e7%bd%91%e7%ab%99%e7%b1%bb/%e7%9b%91%e6%b5%8bapache%e8%bf%90%e8%a1%8c%e7%8a%b6%e6%80%81%ef%bc%8c%e5%a6%82%e6%9e%9c%e5%b4%a9%e6%ba%83%e5%b0%b1%e9%87%8d%e5%90%afapache/</link>
		<comments>http://zhuwenhao.com/948/%e6%8a%80%e6%9c%af/%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%92%8c%e7%bd%91%e7%ab%99%e7%b1%bb/%e7%9b%91%e6%b5%8bapache%e8%bf%90%e8%a1%8c%e7%8a%b6%e6%80%81%ef%bc%8c%e5%a6%82%e6%9e%9c%e5%b4%a9%e6%ba%83%e5%b0%b1%e9%87%8d%e5%90%afapache/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 16:44:22 +0000</pubDate>
		<dc:creator>朱文昊 Albert Zhu</dc:creator>
				<category><![CDATA[服务器和网站类]]></category>

		<guid isPermaLink="false">http://zhuwenhao.com/?p=948</guid>
		<description><![CDATA[首先我一直没有搞清楚为什么我的Apache会经常崩溃。这可不是什么值得炫耀的事情。所以有人能帮我分析吗？我会非常感谢。
因为Apache经常崩溃，我又查不出原因，之后写一个脚本监测Apache是死是活，如果事情不对劲，就重启Apache。
分享脚本如下

View Code BASH1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/bash
Apache_Thread_Num=$&#40;ps -e &#124; grep -c 'httpd'&#41;
Min_Normal_Thread=$&#40;grep 'MinSpareServers'  [...]]]></description>
			<content:encoded><![CDATA[<p>首先我一直没有搞清楚为什么我的Apache会经常崩溃。这可不是什么值得炫耀的事情。所以有人能帮我分析吗？我会非常感谢。<br />
因为Apache经常崩溃，我又查不出原因，之后写一个脚本监测Apache是死是活，如果事情不对劲，就重启Apache。<br />
分享脚本如下</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p948code20'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p94820"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code" id="p948code20"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #007800;">Apache_Thread_Num</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">ps</span> <span style="color: #660033;">-e</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-c</span> <span style="color: #ff0000;">'httpd'</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">Min_Normal_Thread</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">'MinSpareServers'</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apache2<span style="color: #000000; font-weight: bold;">/</span>server-tuning.conf <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">egrep</span> <span style="color: #ff0000;">&quot;[0-9]{1,}&quot;</span> -o<span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$Apache_Thread_Num</span> <span style="color: #660033;">-lt</span> <span style="color: #007800;">$Min_Normal_Thread</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>;
<span style="color: #000000; font-weight: bold;">then</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #000000; font-weight: bold;">time</span> point =<span style="color: #000000; font-weight: bold;">`</span><span style="color: #c20cb9; font-weight: bold;">date</span> <span style="color: #ff0000;">&quot;+%Y-%m-%d-%H-%M-%S&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> Apache dead, alive thread <span style="color: #c20cb9; font-weight: bold;">less</span> than MinSpareServers
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">Apache_Thread_Num</span>=<span style="color: #007800;">$Apache_Thread_Num</span>
    <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #007800;">Min_Normal_Thread</span>=<span style="color: #007800;">$Min_Normal_Thread</span>
   <span style="color: #666666; font-style: italic;"># service apache2 restart</span>
<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 restart
<span style="color: #666666; font-style: italic;">#else</span>
<span style="color: #666666; font-style: italic;">#       echo time point =`date &quot;+%Y-%m-%d-%H-%M-%S&quot;`</span>
<span style="color: #666666; font-style: italic;">#       echo apache alive</span>
<span style="color: #666666; font-style: italic;">#       echo Apache_Thread_Num=$Apache_Thread_Num</span>
<span style="color: #666666; font-style: italic;">#       echo Min_Normal_Thread=$Min_Normal_Thread</span>
<span style="color: #000000; font-weight: bold;">fi</span></pre></td></tr></table></div>

<p>然后把它加到crontab里每分钟运行，世界似乎清静一些了。</p>
]]></content:encoded>
			<wfw:commentRss>http://zhuwenhao.com/948/%e6%8a%80%e6%9c%af/%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%92%8c%e7%bd%91%e7%ab%99%e7%b1%bb/%e7%9b%91%e6%b5%8bapache%e8%bf%90%e8%a1%8c%e7%8a%b6%e6%80%81%ef%bc%8c%e5%a6%82%e6%9e%9c%e5%b4%a9%e6%ba%83%e5%b0%b1%e9%87%8d%e5%90%afapache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>代码高亮插件的用法和语言列表</title>
		<link>http://zhuwenhao.com/945/%e6%8a%80%e6%9c%af/%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%92%8c%e7%bd%91%e7%ab%99%e7%b1%bb/%e4%bb%a3%e7%a0%81%e9%ab%98%e4%ba%ae%e6%8f%92%e4%bb%b6%e7%9a%84%e7%94%a8%e6%b3%95%e5%92%8c%e8%af%ad%e8%a8%80%e5%88%97%e8%a1%a8/</link>
		<comments>http://zhuwenhao.com/945/%e6%8a%80%e6%9c%af/%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%92%8c%e7%bd%91%e7%ab%99%e7%b1%bb/%e4%bb%a3%e7%a0%81%e9%ab%98%e4%ba%ae%e6%8f%92%e4%bb%b6%e7%9a%84%e7%94%a8%e6%b3%95%e5%92%8c%e8%af%ad%e8%a8%80%e5%88%97%e8%a1%a8/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 16:38:01 +0000</pubDate>
		<dc:creator>朱文昊 Albert Zhu</dc:creator>
				<category><![CDATA[服务器和网站类]]></category>

		<guid isPermaLink="false">http://zhuwenhao.com/?p=945</guid>
		<description><![CDATA[本篇日志纯粹个人备忘，大部分读者可以直接忽略。
我使用WP-CodeBox做本站带代码可视化工具。 provides clean syntax highlighting and AJAX advanced features for embedding source code within pages or posts.Wrap code blocks with

Download download.txt1
&#160;

. The LANG is supported by wide range of popular languages syntax. The FILE will create  [...]]]></description>
			<content:encoded><![CDATA[<p>本篇日志纯粹个人备忘，大部分读者可以直接忽略。<br />
我使用WP-CodeBox做本站带代码可视化工具。 provides clean syntax highlighting and AJAX advanced features for embedding source code within pages or posts.Wrap code blocks with</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left2">Download <a href="http://zhuwenhao.com/wp-content/plugins/wp-codebox/wp-codebox.php?p=945&amp;download=download.txt">download.txt</a></span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p94522"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p945code22"><pre class="language" style="font-family:monospace;">&nbsp;</pre></td></tr></table></div>

<p>. The LANG is supported by wide range of popular languages syntax. The FILE will create code downloading attribute. line=”n”is the starting line number, colla=”+/-” will expand/collapse the codebox.<br />
应该也是基于GeSHi来做的。支持语言的列表见：</p>
<p>http://gehrcke.de/files/perm/wp-geshi-highlight/wp-geshi-highlight_languages_1_0_5.txt</p>
<p><span id="more-945"></span><br />
# WP-GeSHi-Highlight by Jan-Philip Gehrcke &#8212; http://gehrcke.de<br />
# version 1.0.5 (GeSHi 1.0.8.10)<br />
# allowed values for the `lang` attribute (GeSHi supported languages strings)</p>
<p>4cs<br />
6502acme<br />
6502kickass<br />
6502tasm<br />
68000devpac<br />
abap<br />
actionscript<br />
actionscript3<br />
ada<br />
algol68<br />
apache<br />
applescript<br />
apt_sources<br />
asm<br />
asp<br />
autoconf<br />
autohotkey<br />
autoit<br />
avisynth<br />
awk<br />
bascomavr<br />
bash<br />
basic4gl<br />
bf<br />
bibtex<br />
blitzbasic<br />
bnf<br />
boo<br />
c<br />
caddcl<br />
cadlisp<br />
cfdg<br />
cfm<br />
chaiscript<br />
cil<br />
clojure<br />
cmake<br />
cobol<br />
coffeescript<br />
cpp-qt<br />
cpp<br />
csharp<br />
css<br />
cuesheet<br />
c_loadrunner<br />
c_mac<br />
d<br />
dcs<br />
delphi<br />
diff<br />
div<br />
dos<br />
dot<br />
e<br />
ecmascript<br />
eiffel<br />
email<br />
epc<br />
erlang<br />
euphoria<br />
f1<br />
falcon<br />
fo<br />
fortran<br />
freebasic<br />
fsharp<br />
gambas<br />
gdb<br />
genero<br />
genie<br />
gettext<br />
glsl<br />
gml<br />
gnuplot<br />
go<br />
groovy<br />
gwbasic<br />
haskell<br />
hicest<br />
hq9plus<br />
html4strict<br />
html5<br />
icon<br />
idl<br />
ini<br />
inno<br />
intercal<br />
io<br />
j<br />
java<br />
java5<br />
javascript<br />
jquery<br />
kixtart<br />
klonec<br />
klonecpp<br />
langs<br />
latex<br />
lb<br />
lisp<br />
llvm<br />
locobasic<br />
logtalk<br />
lolcode<br />
lotusformulas<br />
lotusscript<br />
lscript<br />
lsl2<br />
lua<br />
m68k<br />
magiksf<br />
make<br />
mapbasic<br />
matlab<br />
mirc<br />
mmix<br />
modula2<br />
modula3<br />
mpasm<br />
mxml<br />
mysql<br />
newlisp<br />
nsis<br />
oberon2<br />
objc<br />
objeck<br />
ocaml-brief<br />
ocaml<br />
oobas<br />
oracle11<br />
oracle8<br />
oxygene<br />
oz<br />
pascal<br />
pcre<br />
per<br />
perl<br />
perl6<br />
pf<br />
php-brief<br />
php<br />
pic16<br />
pike<br />
pixelbender<br />
pli<br />
plsql<br />
postgresql<br />
povray<br />
powerbuilder<br />
powershell<br />
proftpd<br />
progress<br />
prolog<br />
properties<br />
providex<br />
purebasic<br />
pycon<br />
python<br />
q<br />
qbasic<br />
rails<br />
rebol<br />
reg<br />
robots<br />
rpmspec<br />
rsplus<br />
ruby<br />
sas<br />
scala<br />
scheme<br />
scilab<br />
sdlbasic<br />
smalltalk<br />
smarty<br />
sql<br />
systemverilog<br />
tcl<br />
teraterm<br />
text<br />
thinbasic<br />
tsql<br />
typoscript<br />
unicon<br />
uscript<br />
vala<br />
vb<br />
vbnet<br />
verilog<br />
vhdl<br />
vim<br />
visualfoxpro<br />
visualprolog<br />
whitespace<br />
whois<br />
winbatch<br />
xbasic<br />
xml<br />
xorg_conf<br />
xpp<br />
yaml<br />
z80<br />
zxbasic</p>
]]></content:encoded>
			<wfw:commentRss>http://zhuwenhao.com/945/%e6%8a%80%e6%9c%af/%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%92%8c%e7%bd%91%e7%ab%99%e7%b1%bb/%e4%bb%a3%e7%a0%81%e9%ab%98%e4%ba%ae%e6%8f%92%e4%bb%b6%e7%9a%84%e7%94%a8%e6%b3%95%e5%92%8c%e8%af%ad%e8%a8%80%e5%88%97%e8%a1%a8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>download.zhuwenhao.com redirected to d.zhu.im</title>
		<link>http://zhuwenhao.com/943/%e6%8a%80%e6%9c%af/%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%92%8c%e7%bd%91%e7%ab%99%e7%b1%bb/download-zhuwenhao-com-redirected-to-d-zhu-im/</link>
		<comments>http://zhuwenhao.com/943/%e6%8a%80%e6%9c%af/%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%92%8c%e7%bd%91%e7%ab%99%e7%b1%bb/download-zhuwenhao-com-redirected-to-d-zhu-im/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 16:30:49 +0000</pubDate>
		<dc:creator>朱文昊 Albert Zhu</dc:creator>
				<category><![CDATA[服务器和网站类]]></category>

		<guid isPermaLink="false">http://zhuwenhao.com/?p=943</guid>
		<description><![CDATA[偶然发现一个很简短的域名zhu.im被某人掉下来了。赶紧注册。
于是把原来的下载站download.zhuwenhao.com使用htaccess转成了d.zhu.im
大家可以使用d.zhu.im去访问我同步的Android和其他很多的源代码了。是不是方便记忆很多了？
顺便说下htaccess写法。

View Code BASH1
2
3
RewriteEngine On
rewritecond %&#123;http_host&#125; !^d\.zhu\.im &#91;NC&#93;
rewriterule ^&#40;.*&#41;$ http://d.zhu.im/$1  [...]]]></description>
			<content:encoded><![CDATA[<p>偶然发现一个很简短的域名zhu.im被某人掉下来了。赶紧注册。<br />
于是把原来的下载站download.zhuwenhao.com使用htaccess转成了d.zhu.im<br />
大家可以使用d.zhu.im去访问我同步的Android和其他很多的源代码了。是不是方便记忆很多了？<br />
顺便说下htaccess写法。</p>

<div class="wp_codebox_msgheader"><span class="right"></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p943code24'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p94324"><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code" id="p943code24"><pre class="bash" style="font-family:monospace;">RewriteEngine On
rewritecond <span style="color: #000000; font-weight: bold;">%</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>http_host<span style="color: #7a0874; font-weight: bold;">&#125;</span> <span style="color: #000000; font-weight: bold;">!</span>^d\.zhu\.im <span style="color: #7a0874; font-weight: bold;">&#91;</span>NC<span style="color: #7a0874; font-weight: bold;">&#93;</span>
rewriterule ^<span style="color: #7a0874; font-weight: bold;">&#40;</span>.<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>$ http:<span style="color: #000000; font-weight: bold;">//</span>d.zhu.im<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$1</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #007800;">R</span>=<span style="color: #000000;">301</span>,NC<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://zhuwenhao.com/943/%e6%8a%80%e6%9c%af/%e6%9c%8d%e5%8a%a1%e5%99%a8%e5%92%8c%e7%bd%91%e7%ab%99%e7%b1%bb/download-zhuwenhao-com-redirected-to-d-zhu-im/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

