﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-综合区</title><link>http://www.cnblogs.com/general/</link><description>程序员的网上家园</description><language>zh-cn</language><lastBuildDate>Fri, 19 Mar 2010 15:14:39 GMT</lastBuildDate><pubDate>Fri, 19 Mar 2010 15:14:39 GMT</pubDate><ttl>60</ttl><item><title>Nginx+PHP+MySQL+Memcached for CentOS安装</title><link>http://www.cnblogs.com/jackychung/archive/2010/03/19/1690239.html</link><dc:creator>jackychung</dc:creator><author>jackychung</author><pubDate>Fri, 19 Mar 2010 15:14:00 GMT</pubDate><guid>http://www.cnblogs.com/jackychung/archive/2010/03/19/1690239.html</guid><description><![CDATA[<p>阅读: 0 评论: 0 作者: <a href="" target="_blank">jackychung</a> 发表于 2010-03-19 23:14 <a href="http://www.cnblogs.com/jackychung/archive/2010/03/19/1690239.html" target="_blank">原文链接</a></p><hr /><p>安装MySQL:</p><p>&nbsp;&nbsp;&nbsp; 1. 下载最新MySQL源码包（如：http://linux.newhua.com/soft/3608.htm）<br /></p><p>&nbsp;&nbsp;&nbsp; 2. tar -zxvf mysql... 解压到/home/mysql目录<br /></p><p>&nbsp;&nbsp;&nbsp; 3. cd /home/mysql 进入源码目录<br /></p><p>&nbsp; &nbsp; 4. ./configure --prefix=/usr/local/mysql --with-extra-charsets=all --with-unix-socket-path=/usr/local/mysql/var/mysql.sock</p><p>&nbsp; &nbsp; 5. make</p><p>&nbsp; &nbsp; 6. make install</p><p>&nbsp; &nbsp; 注意：mysql-test过程比较漫长，需要耐心等待。</p><p>&nbsp; &nbsp; 7. cp /usr/local/mysql/share/mysql/my-medium.cnf&nbsp; /etc/my.cnf <br /></p><p>&nbsp; &nbsp; 8. /usr/local/mysql/bin/mysql_install_db （安装系统授权数据库） <br /></p><p>&nbsp; &nbsp; 9. /usr/local/mysql/bin/mysqld_safe --user=root</p><p>&nbsp; &nbsp; 10. /usr/local/mysql/share/mysql/mysql.server start （启动服务）</p><p>&nbsp; &nbsp; 11. /usr/local/mysql/bin/mysqladmin -u root password 密码&nbsp; （设置root帐号密码）</p><p>&nbsp; &nbsp; 12. /usr/local/mysql/bin/mysql -u root -p （登录） <br /></p><img src="aggbug/1690239.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/jackychung/archive/2010/03/19/1690239.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/jackychung/archive/2010/03/19/1690239.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59190/" target="_blank">门户网站竞相掀起微博圈地运动</a><span style="color:gray">(2010-03-19 22:26)</span><br/>· <a href="http://news.cnblogs.com/n/59189/" target="_blank">邵晓锋调任阿里集团秘书长 协调子公司资源</a><span style="color:gray">(2010-03-19 22:08)</span><br/>· <a href="http://news.cnblogs.com/n/59187/" target="_blank">Notifo推iPhone应用：弥补邮件推送缺陷</a><span style="color:gray">(2010-03-19 21:04)</span><br/>· <a href="http://news.cnblogs.com/n/59186/" target="_blank">分析：微软IE9现身 网络视频标准争议依旧未解</a><span style="color:gray">(2010-03-19 20:57)</span><br/>· <a href="http://news.cnblogs.com/n/59185/" target="_blank">连线朱骏：陈晓薇离开九城与魔兽无关</a><span style="color:gray">(2010-03-19 20:52)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>会议中的意外情况</title><link>http://www.cnblogs.com/cherrypu/archive/2010/03/19/1690238.html</link><dc:creator>pumeifen</dc:creator><author>pumeifen</author><pubDate>Fri, 19 Mar 2010 15:13:00 GMT</pubDate><guid>http://www.cnblogs.com/cherrypu/archive/2010/03/19/1690238.html</guid><description><![CDATA[<p>阅读: 0 评论: 0 作者: <a href="" target="_blank">pumeifen</a> 发表于 2010-03-19 23:13 <a href="http://www.cnblogs.com/cherrypu/archive/2010/03/19/1690238.html" target="_blank">原文链接</a></p><!--CTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
	"http://www.w3.org/TR/html4/loose.dt-->
<p>
<meta content="text/html; charset=UTF-8" />
</p>



<p>
<link rel="stylesheet" type="text/css" href="http://www.cnblogs.com/cherrypu/admin/Res/styles/shared.css" />
<link rel="stylesheet" type="text/css" href="http://www.cnblogs.com/cherrypu/admin/Res/styles/StaticOutline.css" />
</p>
<!-- BEGIN PAGE HEADER -->
<table id="pageHeader">
<tbody>
<tr>
<td rowspan="3" class="left"><a target="_parent" href="http://www.cnblogs.com/cherrypu/admin/index.html" class="noHover"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/logo.gif" /></a> </td>
<td class="right"><!-- BEGIN TOOLS UTILITIES-->
<div class="utilities"><span class="command"><a target="_parent" href="http://www.cnblogs.com/cherrypu/admin/index.html"><span class="label">Home</span> </a></span><span class="utilities_toc">| <span class="command"><a target="_parent" href="http://www.cnblogs.com/cherrypu/admin/contents.htm"><span class="label">Table of Contents</span> </a></span></span><!-- BEGIN HEADER UTILITIES OVERVIEW SNIPPET -->| <span class="command"><a target="_parent" href="http://www.cnblogs.com/cherrypu/admin/map.htm"><span class="label">Overview Map</span> </a></span><!-- END HEADER UTILITIES OVERVIEW SNIPPET --><!-- BEGIN HEADER UTILITIES LEGEND SNIPPET -->| <span class="command"><a href="javascript:openPopup('legend.htm','Legend','scrollbars=yes,resizable=yes,left=20,top=20,width=240,height=450')"><span class="label">Icon Legend</span> </a></span><!-- END HEADER UTILITIES LEGEND SNIPPET --></div>
<!-- END TOOLS UTILITIES--></td>
</tr>
<tr>
<td class="right">
<div class="mapName">会议中的意外情况</div>
</td>
</tr>
<tr>
<td class="right">
<div class="contactInformation">Your contact information&nbsp;&nbsp;<a href="mailto:info@company.com">info@company.com</a></div>
</td>
</tr>
</tbody>
</table>
<!-- END PAGE HEADER --><!-- BEGIN PAGE BODY--><!-- BEGIN SIDE NAVIGATION WRAPPER-->
<table>
<tbody>
<tr>
<td class="outlineColumn"><!-- Ensure minimum width of outline--><img width="190" src="http://www.cnblogs.com/cherrypu/admin/Res/images/empty.gif" height="1" class="emptyImage" /><br /><!-- STATIC OUTLINE - START -->
<div class="staticOutline">
<div class="hometopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="select"><a href="http://www.cnblogs.com/cherrypu/admin/index.html">&nbsp;Home&nbsp;</a></span> </div>
<div class="maintopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic2">&nbsp;1. 婵：一开口就停不住&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic3">&nbsp;与讨论主题无关的事&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic4">&nbsp;很了很久才进入主题&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic5">&nbsp;讲的太模糊，没有具体事例&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic6">&nbsp;拒绝听别人讲&nbsp;</a></span> </div>
<div class="maintopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic7">&nbsp;2. 对付这种婵。&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic8">&nbsp;非语言性的暗示&nbsp;</a></span> </div>
<div class="maintopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic9">&nbsp;3. 沙鱼&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic10">&nbsp;总有攻击别人的倾向，&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic11">&nbsp;有时安排，这些黑脸&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic12">&nbsp;有些人会说我觉得你说的不对。怎么对待这些人说&nbsp;</a></span> </div>
<div class="maintopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic13">&nbsp;4. 驴&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic14">&nbsp;症状&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic15">&nbsp;解决&nbsp;</a></span> </div>
<div class="maintopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic16">&nbsp;5. 兔子&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic17">&nbsp;症状&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic18">&nbsp;解决&nbsp;</a></span> </div>
<div class="maintopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic19">&nbsp;6. 螃蟹&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic20">&nbsp;症状&nbsp;</a></span> </div>
<div class="subtopic"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/arrow.gif" /><span class="unselect"><a href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic21">&nbsp;解决&nbsp;</a></span> </div>
</div>
<!-- STATIC OUTLINE - END --></td>
<td class="bodyColumn"><!-- END SIDE NAVIGATION WRAPPER-->
<table id="pageBody">
<colgroup><col class="main"></col><col></col><col class="right"></col><col></col><!--BEGIN PAGE BODY ITEM--></colgroup>
<tbody>
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic1"></a><span class="outlineNumberFirst">&nbsp;</span><span class="topicLineFirst">会议中的意外情况</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<!--START PAGE BOX PARTIAL MAP-->
<div class="partialMapArea">
<table id="partialMapTable">
<tbody>
<tr>
<td>
<div class="SubTopicItems"></div>
</td>
<td>
<div class="partialMap"><img usemap="#CSIM" src="http://www.cnblogs.com/cherrypu/admin/PartialMaps/index.gif" /> </div>
</td>
</tr>
</tbody>
</table>
</div>
<map name="CSIM">
<area href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic2" coords="172, 4, 284, 20" alt="婵：一开口就停不住" shape="rect" />
<area href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic7" coords="184, 33, 266, 49" alt="对付这种婵。" shape="rect" />
<area href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic9" coords="147, 121, 188, 136" alt="沙鱼" shape="rect" />
<area href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic13" coords="15, 121, 46, 136" alt="驴" shape="rect" />
<area href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic16" coords="4, 71, 44, 87" alt="兔子" shape="rect" />
<area href="http://www.cnblogs.com/cherrypu/admin/index.html#Topic19" coords="5, 22, 46, 37" alt="螃蟹" shape="rect" />
</map>
<!--END PAGE BOX PARTIAL MAP-->
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic2"></a><span class="outlineNumber">1. </span><span class="topicLine">婵：一开口就停不住</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic3"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">与讨论主题无关的事</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic4"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">很了很久才进入主题</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic5"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">讲的太模糊，没有具体事例</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic6"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">拒绝听别人讲</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic7"></a><span class="outlineNumber">2. </span><span class="topicLine">对付这种婵。</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic8"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">非语言性的暗示</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic22"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">事先提醒，发言的时间</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic23"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">总结的方式，你刚才讲的是这个意思吧。。对吧</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic9"></a><span class="outlineNumber">3. </span><span class="topicLine">沙鱼</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic10"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">总有攻击别人的倾向，</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic11"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">有时安排，这些黑脸</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic12"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">有些人会说我觉得你说的不对。怎么对待这些人说</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic24"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">怎么对待。</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic25"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">我非常理解你。如果我是你的换我也会这样</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic26"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">重申明会议的规范</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic27"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">反问法</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic28"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">你说的非常好。。那咱们一起共同探讨下这个问题（把大家带进来，某种程度上就是说把他排除出去了）</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic13"></a><span class="outlineNumber">4. </span><span class="topicLine">驴</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic14"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">症状</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic29"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">防卫心强</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic30"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">不能站在别人位置看问题，不接受别人的意件（跟沙鱼不一样他沉默）往往这些人不好对付的</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic15"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">解决</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic31"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">点沙鱼旁边那个驴发言</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic32"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">刚才那个问题你听懂了吗。。我特想听你的建议</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic33"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">（给他点甜头）突出他的贡献</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic16"></a><span class="outlineNumber">5. </span><span class="topicLine">兔子</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic17"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">症状</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic34"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">总是在挑战现有有程序</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic35"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">总是提出 不同的方法</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic36"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">把会议引向失败</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic18"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">解决</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic37"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">肯定他的贡献（吃软不吃硬）</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic38"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">我们能不能先试用下大家总决出的</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic39"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">如果不行再用你的方案</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic19"></a><span class="outlineNumber">6. </span><span class="topicLine">螃蟹</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic20"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">症状</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic40"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">总是在做别的事，，总是跑题，</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic41"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">私自进行小团体讲话，</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic42"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">你们在说什么呢。。可不可以把你们讨论的结果跟我们分享下啊</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic43"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">睡觉</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic44"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">可能导致时间的拖延</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic21"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">解决</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic45"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">先强调时间压力</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic46"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">强调会议规范</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic47"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">带入别人（跑题者（打磕睡）旁边 的人）</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic48"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">短暂的无声</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<table>
<tbody>
<tr class="topicHeader">
<td class="topicImageColumn"></td>
<td class="topicLineColumn"><a name="Topic49"></a><span class="outlineNumber">&nbsp;</span><span class="topicLine">如果发现在磕睡的人太多了，休息会</span> <span class="topicIcons">&nbsp;</span></td>
</tr>
</tbody>
</table>
<div class="topicTextNotes"></div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!--END PAGE BODY ITEM--><!-- BEGIN TOP BUTTON -->
<tr class="topic">
<td colspan="2" valign="top" class="main">
<div class="body">
<div class="topCommand"><span class="commands"><span class="command"><img src="http://www.cnblogs.com/cherrypu/admin/Res/images/top_button.gif" /> <a href="javascript:scroll(0,0)"><span class="label">Top</span> </a></span></span></div>
</div>
</td>
<td valign="top" class="right"><!--right body column empty--></td>
</tr>
<!-- END TOP BUTTON -->
</tbody>
</table>
<!-- BEGIN SIDE NAVIGATION WRAPPER--></td>
</tr>
</tbody>
</table>
<!-- END SIDE NAVIGATION WRAPPER--><!-- END PAGE BODY--><!-- BEGIN FOOTER-->
<table id="pageFooter">
<tbody>
<tr>
<!-- reserved for image
<td class="left" rowspan="2"></td>
-->
<td rowspan="2" class="center">
<div class="footerText">Your footer text</div>
</td>
<td class="right">
<div class="hyperlink"><span><a target="_blank" href="http://www.mindjet.com/">Powered By Mindjet MindManager</a> </span></div>
</td>
</tr>
<tr>
<td class="right">
<div class="lastUpdated"><span>Last updated:</span> <span>2010-3-19</span> </div>
</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
<!-- END FOOTER--><img src="aggbug/1690238.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/cherrypu/archive/2010/03/19/1690238.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/cherrypu/archive/2010/03/19/1690238.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59190/" target="_blank">门户网站竞相掀起微博圈地运动</a><span style="color:gray">(2010-03-19 22:26)</span><br/>· <a href="http://news.cnblogs.com/n/59189/" target="_blank">邵晓锋调任阿里集团秘书长 协调子公司资源</a><span style="color:gray">(2010-03-19 22:08)</span><br/>· <a href="http://news.cnblogs.com/n/59187/" target="_blank">Notifo推iPhone应用：弥补邮件推送缺陷</a><span style="color:gray">(2010-03-19 21:04)</span><br/>· <a href="http://news.cnblogs.com/n/59186/" target="_blank">分析：微软IE9现身 网络视频标准争议依旧未解</a><span style="color:gray">(2010-03-19 20:57)</span><br/>· <a href="http://news.cnblogs.com/n/59185/" target="_blank">连线朱骏：陈晓薇离开九城与魔兽无关</a><span style="color:gray">(2010-03-19 20:52)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>.NET gecko内核浏览器开发 &amp;mdash;&amp;mdash;GeckoFX介绍</title><link>http://www.cnblogs.com/zhuo/archive/2010/03/19/1690237.html</link><dc:creator>jiangzhuo</dc:creator><author>jiangzhuo</author><pubDate>Fri, 19 Mar 2010 15:10:00 GMT</pubDate><guid>http://www.cnblogs.com/zhuo/archive/2010/03/19/1690237.html</guid><description><![CDATA[<p>阅读: 0 评论: 0 作者: <a href="" target="_blank">jiangzhuo</a> 发表于 2010-03-19 23:10 <a href="http://www.cnblogs.com/zhuo/archive/2010/03/19/1690237.html" target="_blank">原文链接</a></p><p>众所周知 mozilla 只提供C/C++版本的gecko内核 嗯 人家mozilla 就是这么着说的就是没有.net的 人家也没有义务要提供 废话说道这</p> <p>其实Gecko与Webkit、Trident最为世界上使用最多的三大浏览器内核来说 在最近的一个项目（WPF项目）中经过比较决定使用gecko的内核 </p> <p>说说我选择使用gecko内核的优势：</p> <p>其一 gecko内核开发的浏览器 例如FireFox为代表的mozilla 公司的浏览器 是速度相当快速的</p> <p>其二 gecko内核的浏览器有相当庞大的家族 其插件众多 通过XPCOM可以方便的装插件 通过XUL可以方便的开发各种界面各种插件</p> <p>其三 gecko毕竟是跨平台的内核 在Linux操作系统中 甚至手机的一些操作系统中都有很多的应用</p> <p>其四 基于个人的个性 很像尝试以前没有尝试过的新鲜的东西 所以把微软的Trident给放弃了</p> <p>其五 由于webkit的资料相当少 google浏览器的功能并没有表现出这个内核能很好的符合我们的需求 微软的mshtml资料倒是很多 但是一想微软的WebBrowser控件封装的相当简陋 自己封装还不如封装一下Gecko好呢</p> <p>其实还有很多原因让我选了了Gecko 好了</p> <p>又废话一通 现在开始介绍GeckoFX这个对Gecko内核封装的开源项目 其实单纯的Gecko只是一个Layout（布局？渲染）引擎 加上XPCOM跟XULRunner以后就会相当强大 GeckoFX当然也需要XPCOM的支持</p> <p>这个开源项目已经很久没有更新了 不停留在Gecko1.9.1的基础上 也就是<a href="https://developer.mozilla.org/En/Firefox_3.5_for_developers">Firefox 3.5</a>, <a href="https://developer.mozilla.org/En/Thunderbird_3_for_developers">Thunderbird 3</a>, <a href="http://wiki.mozilla.org/SeaMonkey:New_for_2.0">SeaMonkey 2.0</a>用的内核。</p> <p>论坛：<a href="http://geckofx.org/">http://geckofx.org/</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p> <p>google code：<a href="http://code.google.com/p/geckofx/">http://code.google.com/p/geckofx/</a></p> <p>GeckoFX是一个运用C#写的windows 窗体控件（具体在WPF项目中怎么用winForm的控件可以参考博客园的许多博文或者说我将来有时间会写一个wpf的控件，不过现在时间来不及，好像对wpf控件的编写也不是很熟），同时也包含一个简单的类模型（就是string HTMLElement CSSElement各种类型）支持HTML和CSS DOM。</p> <p>GeckoFX本来是为了<a href="http://www.skybound.ca/stylizer">Stylizer</a>创建的（可能做网站开发的朋友用FireFox调试调CSS的时候用过这个插件），<a href="http://www.skybound.ca/stylizer">Stylizer</a>跟GeckoFx都是遵守Mozilla Public License的。</p> <p>现在介绍一下这个GeckoFX怎么用（就是说站在巨人的肩膀上我们才能看得更远）先看看别人怎么封装的</p> <p><strong><font size="4">(1)下载XULRunner 1.9.1</font></strong></p> <p><a title="http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.1.2/runtimes/xulrunner-1.9.1.2.en-US.win32.zip" href="http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.1.2/runtimes/xulrunner-1.9.1.2.en-US.win32.zip">http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.1.2/runtimes/xulrunner-1.9.1.2.en-US.win32.zip</a></p> <p><strong><font size="4">（2）在使用这个控件之前Initialize XPCOM</font></strong>&nbsp;</p> <p>可以是程序开始的地方Program.cs中或者是构造函数（比如说用到此控件的用户控件的构造函数中）</p> <p>添加 Skybound.Gecko.Xpcom.Initialize(xulrunnerPath);</p> <p>xulrunnerPath是XULRunner的完全路径 包含xul.dll, xpcom.dll什么的那个目录</p> <p>（3）（可选）通过设置Xpcom.ProfileDirectory修改保存Profile的目录 这个目录是XPCOM的Profile包含cookie cache等等的东西</p> <p>（4）（可选）删除XULRunner下的一些用不到的文件</p> <blockquote> <p>AccessibleMarshal.dll <br>dependentlibs.list <br>mozctl.dll <br>mozctlx.dll <br>java*.* <br>*.ini <br>*.txt <br>*.exe</p></blockquote> <p>(5)（可选） XULRunner不支持 about:config 如果想使用像FireFox那样的设置页 将"chrome" 文件夹下的"geckofx.jar" 和 "geckofx.manifest" 拷贝到 XULRunner下的"chrome" 中。</p> <p>&nbsp;</p> <p>最后要说明的是这还只能说是一个简单的封装 并没有对XPCOM所有的接口进行完全的封装，有些功能我们还是要自己往其中添加。下面提供一些比较有用的网址。</p> <p><a href="http://geckofx.org/">http://geckofx.org/</a></p> <p><a title="https://developer.mozilla.org/" href="https://developer.mozilla.org/">https://developer.mozilla.org/</a>&nbsp; Mozilla开发者中心 英文的资料很多</p> <p><a href="http://board.mozest.com/">http://board.mozest.com/</a> 一个关于Mozilla开发的网站 这个算是能找到的仅有一点中文的资料</p> <p><a href="https://developer.mozilla.org/cn">https://developer.mozilla.org/cn</a> Mozilla开发者中心 部分英文的翻译</p> <p><a href="http://www.mozilla.org/docs/">http://www.mozilla.org/docs/</a> 关于Mozilla开发最全的英文文档</p> <p><a href="http://sourceforge.net/projects/sharpweb/">http://sourceforge.net/projects/sharpweb/</a> 一个运用GeckoFX的简单浏览器 西班牙文的。。。</p> <p>OK 以后还会写对Gecko内核 GeckoFX的详细研究 改进 一些具体功能的实线（仿照FireFox的某些功能）</p><img src="aggbug/1690237.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/zhuo/archive/2010/03/19/1690237.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/zhuo/archive/2010/03/19/1690237.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59190/" target="_blank">门户网站竞相掀起微博圈地运动</a><span style="color:gray">(2010-03-19 22:26)</span><br/>· <a href="http://news.cnblogs.com/n/59189/" target="_blank">邵晓锋调任阿里集团秘书长 协调子公司资源</a><span style="color:gray">(2010-03-19 22:08)</span><br/>· <a href="http://news.cnblogs.com/n/59187/" target="_blank">Notifo推iPhone应用：弥补邮件推送缺陷</a><span style="color:gray">(2010-03-19 21:04)</span><br/>· <a href="http://news.cnblogs.com/n/59186/" target="_blank">分析：微软IE9现身 网络视频标准争议依旧未解</a><span style="color:gray">(2010-03-19 20:57)</span><br/>· <a href="http://news.cnblogs.com/n/59185/" target="_blank">连线朱骏：陈晓薇离开九城与魔兽无关</a><span style="color:gray">(2010-03-19 20:52)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>web标准概念入门</title><link>http://www.cnblogs.com/ronmy/archive/2010/03/19/1690236.html</link><dc:creator>ronmy</dc:creator><author>ronmy</author><pubDate>Fri, 19 Mar 2010 15:08:00 GMT</pubDate><guid>http://www.cnblogs.com/ronmy/archive/2010/03/19/1690236.html</guid><description><![CDATA[<p>阅读: 0 评论: 0 作者: <a href="" target="_blank">ronmy</a> 发表于 2010-03-19 23:08 <a href="http://www.cnblogs.com/ronmy/archive/2010/03/19/1690236.html" target="_blank">原文链接</a></p><h3>一：了解web标准</h3>
<h4>1.什么是web标准？</h4>
<p>首先要明确一个概念。我们本书讲的web标准，不是指XML，而是指为了实现大量HTML信息向XML标准的过渡，W3C和ECMA制定的一系列的技术规范，目前主要包括XHTML1.0、CSS2.0、DOM1.0和ECMA JavaScrit。web标准不仅仅是一个规范，而是一系列规范的总称。 </p>
<p>按这些规范制作的网页，符合XML格式规范，内容与表现相分离，将使你的页面数据在以后可以被分享、交换和重用。 </p>
<p>下面，让我们一起了解一些重要的基础知识。如果你已经掌握，可以跳过直接阅读第二节 </p>。 
<h4>2. 什么是w3c？</h4>
<p>W3C是&#8220;World Wide Web Consortium&#8221;的缩写，中文称万维网组织。是一个专注于&#8220;领导和发展web技术&#8221;的国际工业行业协会。它由万维网发明者Time Berners-Lee领导，成立与1994年。W3C已经有超过500家的会员--包括微软、美国在线(Netscape的母公司)、苹果电脑、Adobe、Macromedia、SUN 以及各类主流硬件、软件制造商和电信公司。学会主要研究由三家学术机构主理--美国麻省理工学院(MIT)、法国的欧洲信息与数学研究论坛(ERCIM)、日本的应庆大学(KEIO)。 </p>
<p>W3C主要工作是研究和制定开放的规范(事实上的标准)，以便提高web相关产品的互用性。W3C的推荐规范的制定都是由来自于会员和特别邀请的专家组成的工作组完成。工作组的草案(Drafts)在通过多数相关公司和组织同意后提交给W3C理事会讨论，正式批准后才成为&#8220;推荐规范(Recommendations)&#8221;发布。更多的信息您可以访问W3C的网站：www.w3.org </p>
<h4>3.W3C发布的标准</h4>
<h5>3.1 HTML4.0</h5>
<p>HyperText Markup Language(HTML,超文本标识语言)广泛用于现在的网页，HTML目的是为文档增加结构信息，例如表示标题， </p>
<p>表示段落；浏览器可以解析这些文档的结构，并用相应的表现形式表现出来。例如：浏览器会将<strong>...</strong>之间的内容用粗体显示。 </p>
<p>设计师也可以通过CSS(Cascading Style Sheets)来定义某种结构以什么形式表现出来。 </p>
<h5>3.2 XML1.0</h5>
<p>XML是Extensible Markup Language(可扩展标识语言)的简写。XML类似HTML也是标识语言，不同的地方是：HTML有固定的标签，而XML允许你自己定义自己的标签，甚至允许你通过XML namespaces为一个文档定义多套设定。看一个XML例子： </p>
<p><span class="code">&lt;addressbook&gt;<br />&lt;entry&gt;<br />&lt;name&gt;AJIE&lt;/name&gt;&lt;email&gt;ajie33@hotmail.com&lt;/email&gt;<br />&lt;/entry&gt;<br />&lt;entry&gt;&lt;name&gt;ALLAN&lt;/name&gt;&lt;email&gt;neo_n@21cn.com&lt;/email&gt;<br />&lt;/entry&gt;<br />&lt;entry&gt;&lt;name&gt;YAHOO&lt;/name&gt;&lt;email&gt;tingpeng@msn.com&lt;/email&gt;<br />&lt;/entry&gt;<br />&lt;/addressbook&gt; </span></p>
<p>一些XML的应用，例如XHTML和MathML,已经成为W3C推荐规范。你同样可以通过样式规范(CSS和XSL)，来定义XML标签的表现形式。XML文档目前还不能直接用浏览器显示，页面展现依然采用HTML或者XHTML，XML现在大多用于服务器与服务器(系统与系统)之间的数据交换。 </p>
<h5>3.3 CSS2.0</h5>
<p>CSS是Cascading Style Sheets层叠样式表的缩写。通过CSS可以控制HTML或者XML标签的表现形式。W3C推荐使用CSS布局方法，使得web更加简单，结构更加清晰。 </p>
<h5>3.4 XHTML1.0 </h5>
<p>XHTML实际上就是将HTML根据XML规范重新定义一遍。它的标签与HTML4.0一致，而格式严格遵循XML规范。因此，虽然XHTML与HTML在浏览器中一样显示，但如果你要转换成PDF，那么XHTML会容易的多。 </p>
<p>XHTML有三种DTD定义：严格的(strict)，过渡的(Transitional)，框架的(Frameset)。 DTD是Document Type Definition文档类型定义的缩写。它写在XHTML文件的最开始，告诉浏览器这个文档符合什么规范，用什么规范来解析。 </p>
<h5>3.5 DOM1.0</h5>
<p>DOM是Document Object Model文档对象模型的缩写。DOM给了脚本语言(类似ECMAScript)无限发挥的能力。它使脚本语言很容易访问到整个文档的结构、内容和表现。 </p>
<h4>4 什么是ECMA？</h4>
<p>是&#8220;European Computer Manufactures Association&#8221;的缩写，中文称欧洲计算机制造联合会。是1961年成立的旨在建立统一的电脑操作格式标准--包括程序语言和输入输出的组织。 </p>
<p>ECMA位于日内瓦，和ISO(国际标准组织)以及IEC(国际电工标准化机构)总部相邻，主要任务是研究信息和通讯技术方面的标准并发布有关技术报告。ECMA并不是官方机构，而是由主流厂商组成的，他们经常与其他国际组织进行合作。 </p>
<h5>4.1 ECMA发布的标准 ECMAscript</h5>
<p>ECMAscript是基于Netscape javaScript的一种标准脚本语言。它也是一种基于对象的语言，通过DOM可以操作网页上的任何对象。可以增加、删除、移动或者改变对象。使得网页的交互性大大提高。 </p>
<p>上述标准是我们目前从HTML向XML过渡时期用到的主要标准，也是本书主要讨论的范畴。 </p>
<h4>5.web标准的优势</h4>
<h5>5.1 易用性</h5>
<p>用web标准制作的页面，对搜索引擎更加&#8220;透明&#8221;，因为良好清晰的结构使得搜索引擎能够方便的判断与评估信息，从而建立更精确的索引。按web标准制作的页面也可以在更老版本的浏览器中正常显示基本结构，即使CSS/XSL样式无法解析，它也能显示出完整的信息和结构。 </p>
<p>符合web标准的页面也很容易被转换成其他格式文档，例如数据库或者word格式,也容易被移植到新的系统--硬件或者软件系统，比如网络电视、PDA等等。这是XML天生具有的优势。 </p>
<p>符合web标准的页面也具有天生的&#8220;易用性(accessibility)&#8221;,不仅仅是普通浏览器可以阅读，那些有残疾的人们也可以通过盲人浏览器、声音阅读器正常使用。 </p>
<h5>5.2 向后兼容性</h5>
<p>使用web标准建立的页面，将在未来的新浏览器或者新网络设备中很好的工作。我们只要修改CSS或者XSL定制相应的表现形式就可以了。 </p>
<h3>二：web标准的思考与争论</h3>
<p>通过上文的介绍，我们已经初步了解为什么W3C要建立XML标准，为什么各大厂商都愿意支持XML。也了解到为了向XML标准过渡，我们目前阶段需要学习和掌握的web标准有那些，接下来就是具体应用了。但我们发现应用也并不如想像中那样顺利，依然有一堆的困难摆在我们面前： </p>
<ul><li>有99%采用HTML4.0或者更老规范建立的网页需要转换到XHTML；</li><li>每天依然有大量的新的页面采用不符合web标准的技术在发布；</li><li>缺乏易用的、强大的支持web标准的页面开发软件；</li><li>主流浏览器IE对web标准的支持不完善；</li><li>大批的设计师需要了解web标准，转变观念；</li></ul>
<p>其中&#8220;转变观念&#8221;是最重要、也是最难的。许多设计师还不理解web标准，依然在观望甚至反对。这里我们来分析web标准推广过程中遇到的典型问题与争论： </p>
<h4>(一)关于web标准</h4>
<h5>1.web标准并不是&#8220;标准&#8221;，我为什么要遵守？</h5>的确，web标准并不是标准，它只是W3C制定的推荐规范，W3C并没有强制要求和监督业界去执行。web标准组织(webstandards.org)为了便于这些规范的推广，才把它们统称为&#8220;web标准&#8221;。虽然W3C制定的只是&#8220;推荐规范&#8221;，但它已经是事实上的标准，世界前500家大IT企业会员都认可的规范，你没有理由怀疑它的广泛性和可行性。微软也是W3C的主要会员，它自己通过的规范一定会支持，但出于商业竞争的考虑，微软通常都会做一些细节调整来绑定用户，但这并不影响W3C规范的方向性和权威性。 
<h5>2.DIV+CSS就是web标准吗？</h5>DIV+CSS只是具体的实现技术手段，并不能涵盖web标准。web标准不仅仅是HTML向XHTML的转换，更重要的是信息结构清晰、内容与表现相分离，而DIV+CSS技术能较好的实现这种思想。因此，我们看到的多数符合标准的页面都是采用DIV+CSS制作。 
<h4>(二).关于web标准的好处</h4>
<h5>1.科技在进步，网络带宽越来越大，速度越来也快，节省那点字节有意义吗？</h5>web标准的好处之一是：用web标准制作的页面代码量小，可以节省带宽。这只是web标准附带的好处，因为DIV的结构本身就比TABLE简单，TABLE布局的层层嵌套造成代码臃肿，文件尺寸膨胀。通常情况下，相同表现的页面用DIV+CSS比用TABLE布局的节省2/3的代码。这是web标准天生的好处。 至于节省带宽的意义并不主要针对普通用户，而主要针对网站经营者，特别是中大型网站，类似新浪、网易这样的站点。一个新闻首页从500K缩小到170k，假设一天的pageview是3000万(保守数字)，那么节省的服务器流量就是330k*30000000=9440G，这个成本的节约是可观的。 
<h5>2.我需要考虑残障人士（盲人和弱视）吗？</h5>为残障人士提供网络浏览方便是美国及欧洲一些国家的法律规定，由于web标准页面的清晰结构、语义完整，一些相关设备能很容易的正确提取信息给残障人士。因此，方便盲人阅读信息也成为web标准的天生好处之一。至于有人说中国目前还有很多人为解决温饱发愁，哪有时间考虑残障人士。这是社会文明和社会道德问题，不在本书讨论范畴。但如果你页面按web标准制作了，就能达到这个效果，何乐而不为呢？ 
<h4>(三).关于布局</h4>
<h5>1.web标准就不能用表格了吗？</h5>首先要澄清一个概念：web标准并不是不允许用TABLE标签，TABLE也是XHTML1.0中的标准标签。我们只是提倡用DIV+CSS布局来替代传统的table布局。原因是：原来的TABLE布局将表现和内容混杂在一起，结构不清晰、内容不完整，不利于内容的重用。而且从语义上讲，W3C制定TABLE标签时候只是用它来做表格结构定义的，文档中如果有表格，那么就应该用TABLE。而排版、定位这些表现的东西应该由CSS来控制。 
<h5>2.我用table布局改版也很方便，你用CSS不一定就比我效率高。</h5>个别情况或者个别项目，有可能象你说的，用table布局改版也很快。但这不是长远之计，我们需要透过现象看本质，web标准将内容与表现相剥离，所有样式、风格、布局等等表现的东西独立出来，由CSS或者XSLT来单独控制，这样的剥离后，改版才是真正的方便。而且&#8220;改版&#8221;并不仅仅是浏览器上的改版，同样的页面如果我需要发布到手机上，符合web标准的页面就只需要修改样式文件，而table布局的则需要完全重做，未来如果还需要再发布到网络电视上或者其它新设备上呢？CSS的效率一定比table高。 
<h5>3.用web标准能制作出漂亮的页面吗？</h5>由于一开始研究和推广web标准的人士做得页面都比较&#8220;朴素&#8221;，因此引起大家的误解，以为web标准的页面就是简洁、轻图形、轻视觉效果的。实际上，用TABLE布局能够实现的页面效果，用CSS也基本上能实现。这个问题不需要多解释，看看国内外新建立的web标准站点就清楚了。例如：www.macromedia.com，www.mp3.com 
<h4>(四).关于浏览器兼容</h4>
<h5>1.我不需要关心web标准，IE占有99%的市场，我做的页面只要IE能看就可以了。</h5>&#8220;以用户为核心&#8221;通常都是反对web标准者的档箭牌，实际上这是虚伪的&#8220;以用户为核心&#8221;。你不能保证IE永远是垄断浏览器市场，你也不能保证IE不做任何改变(事实上，微软的IE7已经开始改善对web标准的支持)。坚持用html+table布局制作的页面将是&#8220;死&#8221;的信息，不方便搜索，无法重用与共享，从长远来讲，这才是对用户最大的伤害。 
<h5>2.为什么web标准的页面兼容性并不好？</h5>我们说web标准的优势是兼容性好，这个兼容是指向后兼容，向新浏览器、新设备兼容。对已有的浏览器来说，因为它们对web标准的支持程度不一样，因此会出现不同浏览器下页面变形的情况。我们必须采用一些"hack"技巧来实现不同浏览器的兼容。这是无奈、也是不可避免的，是web技术发展必然要经历的一个过程，是我们向XML过渡必须克服的一个困难。 
<h4>(五).其它</h4>
<h5>1.没有好用的开发工具，难道要我手写代码？</h5>是的。我们建议你手写代码，可以促进你更加深刻理解web标准。事实上，很多开发软件已经开始支持web标准。你可以看看最新版的Dreamweaver 8，还有Adobe的Golive，微软的Visual Studio.NET 2005，这些工具都已经很好的支持web标准页面的开发。当新技术出现时，我们的态度应该是去了解、实践和评估，而不是盲目反对或者坐等其成，那样你永远都是落后者。 
<h5>2.老板不懂，客户也没有要求，我为什么要用web标准？</h5>在自己或者开发团队都不熟悉web标准技术的情况下，新项目采用web标准的确有风险(技术和成本风险)，可以评估后再决定是否采用web标准。但是如果有能力采用标准依然蒙混老板和客户，这就属于职业道德和敬业精神的问题。 
<h3>三：未来与方向</h3>
<p>我想你和我一样，都关心WEB的未来会是怎么样的，下一轮的新技术热点在什么方向。其实，要回答这个问题，没有谁比W3C更有权威了。只要看看W3C在做什么，正在研究什么规范就知道WEB的走向和趋势了。 </p>
<p>W3C明确地告诉我们：XML是未来的趋势毋庸置疑，开放和共享是互联网的精神和根本动力。 </p>
<p>蒂姆.贝纳斯-李（Tim Berners-Lee） ，W3C领导人，万维网之父，说到：XML提供了信息交换的手段，但这仅仅只是开始。我们的目标是web的语义化，即：使得web上的信息内容更加容易理解、更便于交换和共享，RDF和OWL语言将在这方面提供更强大的支持。 </p>
<p>web技术即将迎接新一轮的变革和发展，如果你还在犹豫是不是需要学习web标准，那么你将失去这次机会。 </p><img src="aggbug/1690236.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/ronmy/archive/2010/03/19/1690236.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/ronmy/archive/2010/03/19/1690236.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59190/" target="_blank">门户网站竞相掀起微博圈地运动</a><span style="color:gray">(2010-03-19 22:26)</span><br/>· <a href="http://news.cnblogs.com/n/59189/" target="_blank">邵晓锋调任阿里集团秘书长 协调子公司资源</a><span style="color:gray">(2010-03-19 22:08)</span><br/>· <a href="http://news.cnblogs.com/n/59187/" target="_blank">Notifo推iPhone应用：弥补邮件推送缺陷</a><span style="color:gray">(2010-03-19 21:04)</span><br/>· <a href="http://news.cnblogs.com/n/59186/" target="_blank">分析：微软IE9现身 网络视频标准争议依旧未解</a><span style="color:gray">(2010-03-19 20:57)</span><br/>· <a href="http://news.cnblogs.com/n/59185/" target="_blank">连线朱骏：陈晓薇离开九城与魔兽无关</a><span style="color:gray">(2010-03-19 20:52)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>DateTime 无法设为Null 的解决办法</title><link>http://www.cnblogs.com/delicious28/archive/2010/03/19/1690234.html</link><dc:creator>苏州毛毛</dc:creator><author>苏州毛毛</author><pubDate>Fri, 19 Mar 2010 15:07:00 GMT</pubDate><guid>http://www.cnblogs.com/delicious28/archive/2010/03/19/1690234.html</guid><description><![CDATA[<p>阅读: 0 评论: 0 作者: <a href="" target="_blank">苏州毛毛</a> 发表于 2010-03-19 23:07 <a href="http://www.cnblogs.com/delicious28/archive/2010/03/19/1690234.html" target="_blank">原文链接</a></p><pre class="brush:csharp"><div onclick="cnblogs_code_show('43e15124-2d5a-4c8a-b3bb-3ee6858e6861')" class="cnblogs_code" style="width: 750px; height: 251px;"><img src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" class="code_img_closed" id="code_img_closed_43e15124-2d5a-4c8a-b3bb-3ee6858e6861" /><img src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" onclick="cnblogs_code_hide('43e15124-2d5a-4c8a-b3bb-3ee6858e6861',event)" class="code_img_opened" id="code_img_opened_43e15124-2d5a-4c8a-b3bb-3ee6858e6861" style="display: none;" /><span class="cnblogs_code_collapse">代码</span><div class="cnblogs_code_hide" id="cnblogs_code_open_43e15124-2d5a-4c8a-b3bb-3ee6858e6861"><pre><div><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000ff;">if</span><span style="color: #000000;"> (DateTime.TryParse(txtInDate.Text, </span><span style="color: #0000ff;">out</span><span style="color: #000000;"> inDate))<br />            {<br />                database.AddInParameter(cmd, </span><span style="color: #800000;">"</span><span style="color: #800000;">@InDate</span><span style="color: #800000;">"</span><span style="color: #000000;">, DbType.String, inDate);<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />            {<br />                database.AddInParameter(cmd, </span><span style="color: #800000;">"</span><span style="color: #800000;">@InDate</span><span style="color: #800000;">"</span><span style="color: #000000;">, DbType.DateTime, DBNull.Value);<br />            }</span></div></pre>
</div>
</div>
<p>&nbsp;</p>
</pre><img src="aggbug/1690234.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/delicious28/archive/2010/03/19/1690234.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/delicious28/archive/2010/03/19/1690234.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59190/" target="_blank">门户网站竞相掀起微博圈地运动</a><span style="color:gray">(2010-03-19 22:26)</span><br/>· <a href="http://news.cnblogs.com/n/59189/" target="_blank">邵晓锋调任阿里集团秘书长 协调子公司资源</a><span style="color:gray">(2010-03-19 22:08)</span><br/>· <a href="http://news.cnblogs.com/n/59187/" target="_blank">Notifo推iPhone应用：弥补邮件推送缺陷</a><span style="color:gray">(2010-03-19 21:04)</span><br/>· <a href="http://news.cnblogs.com/n/59186/" target="_blank">分析：微软IE9现身 网络视频标准争议依旧未解</a><span style="color:gray">(2010-03-19 20:57)</span><br/>· <a href="http://news.cnblogs.com/n/59185/" target="_blank">连线朱骏：陈晓薇离开九城与魔兽无关</a><span style="color:gray">(2010-03-19 20:52)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>淘宝月入万元店铺</title><link>http://www.cnblogs.com/chenguihuan8/archive/2010/03/19/1690232.html</link><dc:creator>chenguihuan8</dc:creator><author>chenguihuan8</author><pubDate>Fri, 19 Mar 2010 15:06:00 GMT</pubDate><guid>http://www.cnblogs.com/chenguihuan8/archive/2010/03/19/1690232.html</guid><description><![CDATA[<p>阅读: 0 评论: 0 作者: <a href="" target="_blank">chenguihuan8</a> 发表于 2010-03-19 23:06 <a href="http://www.cnblogs.com/chenguihuan8/archive/2010/03/19/1690232.html" target="_blank">原文链接</a></p><p>1.维莎名品 主营奢侈品 LV GUCCI CHANEL PRADA：<a href="http://s.click.taobao.com/a/qvVvhGgl3eg=-15765429">http://s.click.taobao.com/a/qvVvhGgl3eg=-15765429</a></p>
<p>2.神奇舒友阁 功能美容护肤 (诚招合作) ：<a href="http://s.click.taobao.com/a/qXw59I1kAVI=-15765429">http://s.click.taobao.com/a/qXw59I1kAVI=-15765429</a></p>
<p>3.SPORTICA旗舰店 ：<a href="http://s.click.taobao.com/a/qvVs4bkT.EoU=-15765429">http://s.click.taobao.com/a/qvVs4bkT.EoU=-15765429</a></p>
<p>4。打造型男一站式购物体验 男装男鞋 品牌旗舰店 ：<a href="http://s.click.taobao.com/a/qXMUI0OprT0=-15765429">http://s.click.taobao.com/a/qXMUI0OprT0=-15765429</a></p>
<p>5.小拇指女生鞋坊~批发零售：<a href="http://s.click.taobao.com/a/qvVu06auZRA=-15765429">http://s.click.taobao.com/a/qvVu06auZRA=-15765429</a></p>
<p>6.晴儿小筑名妆~淘宝最全、最专业的化妆品专柜店：<a href="http://s.click.taobao.com/a/qXw59YkcVDk=-15765429">http://s.click.taobao.com/a/qXw59YkcVDk=-15765429</a></p>
<p>7..【浙江优购】运动户外商盟户外装备野营登山包登山鞋冲锋衣：<a href="http://s.click.taobao.com/a/qXw58k15PZY=-15765429">http://s.click.taobao.com/a/qXw58k15PZY=-15765429</a></p>
<p>8.快乐童话屋--童话玩具倾力打造蒙奇奇、迷糊娃娃、泰迪熊 ：<a href="http://s.click.taobao.com/a/qvVvgsfYFpM=-15765429">http://s.click.taobao.com/a/qvVvgsfYFpM=-15765429</a></p>
<p>9.GFWOW帐号与缅甸翡翠专卖店 ：<a href="http://s.click.taobao.com/a/qXKZfB1SiqM=-15765429">http://s.click.taobao.com/a/qXKZfB1SiqM=-15765429</a></p>
<p>10.麦鞋网:</p>
<div class="cnblogs_code">
<pre><div><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">http:</span><span style="color: #008000;">//</span><span style="color: #008000;">s.click.taobao.com/a/qve3iGhHDho=-15765429</span></div></pre>
</div>
<p>&nbsp;</p><img src="aggbug/1690232.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/chenguihuan8/archive/2010/03/19/1690232.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/chenguihuan8/archive/2010/03/19/1690232.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59190/" target="_blank">门户网站竞相掀起微博圈地运动</a><span style="color:gray">(2010-03-19 22:26)</span><br/>· <a href="http://news.cnblogs.com/n/59189/" target="_blank">邵晓锋调任阿里集团秘书长 协调子公司资源</a><span style="color:gray">(2010-03-19 22:08)</span><br/>· <a href="http://news.cnblogs.com/n/59187/" target="_blank">Notifo推iPhone应用：弥补邮件推送缺陷</a><span style="color:gray">(2010-03-19 21:04)</span><br/>· <a href="http://news.cnblogs.com/n/59186/" target="_blank">分析：微软IE9现身 网络视频标准争议依旧未解</a><span style="color:gray">(2010-03-19 20:57)</span><br/>· <a href="http://news.cnblogs.com/n/59185/" target="_blank">连线朱骏：陈晓薇离开九城与魔兽无关</a><span style="color:gray">(2010-03-19 20:52)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>asp.net中Literal与label的区别</title><link>http://www.cnblogs.com/Fskjb/archive/2010/03/19/1690233.html</link><dc:creator>Fskjb</dc:creator><author>Fskjb</author><pubDate>Fri, 19 Mar 2010 15:06:00 GMT</pubDate><guid>http://www.cnblogs.com/Fskjb/archive/2010/03/19/1690233.html</guid><description><![CDATA[<p>阅读: 1 评论: 0 作者: <a href="" target="_blank">Fskjb</a> 发表于 2010-03-19 23:06 <a href="http://www.cnblogs.com/Fskjb/archive/2010/03/19/1690233.html" target="_blank">原文链接</a></p><p>一、方案 </p>
<p>Literal 最常用于向页面中动态添加内容。</p>
<p>&nbsp;</p>
<p>二、背景 </p>
<p>Literal 控件表示用于向页面添加内容的几个选项之一。对于静态内容，无需使用容器，可以将标记作为 HTML 直接添加到页面中。但是，如果要动态添加内容，则必须将内容添加到容器中。典型的容器有 Label 控件、Literal 控件、Panel 控件和 PlaceHolder 控件。</p>
<p>Literal 控件与 Label 控件的区别在于 Literal 控件不向文本中添加任何 HTML 元素。（Label 控件呈现一个 span 元素。）因此，Literal 控件不支持包括位置属性在内的任何样式属性。但是，Literal 控件允许指定是否对内容进行编码。</p>
<p>Panel 和 PlaceHolder 控件呈现为 div 元素，这将在页面中创建离散块，与 Label 和 Literal 控件进行内嵌呈现的方式不同。</p>
<p>通常情况下，当希望文本和控件直接呈现在页面中而不使用任何附加标记时，可使用 Literal 控件。</p>
<p>&nbsp;</p>
<p>在 Literal 控件中编码内容</p>
<p>Literal 控件支持 Mode 属性，该属性用于指定控件对您所添加的标记的处理方式。可以将 Mode 属性设置为以下值：</p>
<p>&#183;Transform. 将对添加到控件中的任何标记进行转换，以适应请求浏览器的协议。如果向使用 HTML 外的其他协议的移动设备呈现内容，此设置非常有用。</p>
<p>&#183;PassThrough. 添加到控件中的任何标记都将按原样呈现在浏览器中。</p>
<p>&#183;Encode. 将使用 HtmlEncode 方法对添加到控件中的任何标记进行编码，这会将 HTML 编码转换为其文本表示形式。例如，&lt;b&gt; 标记将呈现为 &amp;lt;b&amp;gt;。当希望浏览器显示而不解释标记时，编码将很有用。编码对于安全也很有用，有助于防止在浏览器中执行恶意标记。显示来自不受信任的源的字符串时推荐使用此设置。</p>
<p>&nbsp;</p>
<p>三、如何：向 Web 窗体页添加 Literal Web 服务器控件</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在您要以编程方式设置文本而不添加额外的 HTML 标记时，可以向 Web 窗体页添加 Literal Web 服务器控件。在要向页面动态添加文本而不添加任何不属于该动态文本的元素时，Literal 控件是一种很有用的方式。例如，您可以使用 Literal 控件来显示您从一个文件或者流中读取的 HTML。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 说明： 如果想显示静态文本，可以使用 HTML 呈现它；不需要 Literal 控件。只有在需要动态更改服务器代码中的内容时才使用 Literal 控件。</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、从工具箱的&#8220;标准&#8221;选项卡中，将 Literal 控件拖动到页面上。 </p>
<p>&nbsp;</p>
<p>2、或者，在&#8220;属性&#8221;窗口的&#8220;行为&#8221;类别下，将 Mode 属性设置为 Transform、PassThrough 或者 Encode。Mode 属性指定该控件如何处理向其添加的任何标记。下面的示例显示一个简单网页，该页在运行时显示标题新闻。该页的主体（包括 Literal 控件）类似于下面的代码。</p>
<p>&lt;body&gt;</p>
<p>&nbsp; &lt;form runat="server"&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;h1&gt;&lt;asp:Literal id="Headline" runat=server </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mode="PassThrough"/&gt;&lt;/h1&gt;</p>
<p>&nbsp; &lt;/form&gt;</p>
<p>&lt;/body&gt;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、将代码添加到页面上以在运行时设置控件的 Text 属性。 </p>
<p>下面的示例显示如何以编程方式设置 Literal 控件的文本和编码。该页包含一组单选按钮，允许用户在编码文本和传递文本之间选择。</p>
<p>说明： 如果您正将 Text 属性设置为来自不受信任源的文本，则要将控件的 Mode 属性设置为 Encode，这样标记才不会形成可执行标记。</p>
<p>&lt;%@ Page Language="C#" %&gt;</p>
<p>&lt;script runat="server"&gt;</p>
<p>&nbsp;&nbsp;&nbsp; protected void Page_Load(object sender, EventArgs e)</p>
<p>&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Literal1.Text = "This &lt;b&gt;text&lt;/b&gt; is inserted dynamically.";</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (radioEncode.Checked == true)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Literal1.Mode = LiteralMode.Encode;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(radioPassthrough.Checked == true)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Literal1.Mode = LiteralMode.PassThrough;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&lt;/script&gt;</p>
<p>&lt;/script&gt;</p>
<p>&nbsp;</p>
<p>&lt;html&gt;</p>
<p>&lt;head runat="server"&gt;&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;form id="form1" runat="server"&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;div&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br /&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:RadioButton </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID="radioEncode" </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runat="server"</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GroupName="LiteralMode" </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Checked="True" </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Text="Encode" </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AutoPostBack="True" /&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br /&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:RadioButton </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID="radioPassthrough" </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runat="server" </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GroupName="LiteralMode" </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Text="PassThrough" </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AutoPostBack="True" /&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br /&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br /&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Literal ID="Literal1" runat="server"&gt;&lt;/asp:Literal&gt;&amp;nbsp;&lt;/div&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;/form&gt;</p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
<p>&nbsp;</p>
<p>四、Literal 类</p>
<p>在网页上保留显示静态文本的位置。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 使用 System.Web.UI.WebControls.Literal 控件在网页上保留显示文本的位置。Literal 控件与 Label 控件类似，但 Literal 控件不允许对所显示的文本应用样式。可以通过设置 Text 属性，以编程方式控制在控件中显示的文本。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 警告： 此控件可用来显示用户输入，而该输入可能包含恶意的客户端脚本。在应用程序中显示从客户端发送来的任何信息之前，请检查它们是否包含可执行脚本、SQL 语句或其他代码。ASP.NET 提供输入请求验证功能以阻止用户输入中的脚本和 HTML。还提供验证服务器控件以判断用户输入。</p>
<p>&nbsp;</p>
<p>示例 </p>
<p>下面的示例说明如何使用 Literal 控件显示静态文本。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 说明： 下面的示例使用单文件代码模型，如果将它直接复制到代码隐藏文件中，则它可能无法正常工作。此代码示例必须被复制到具有 .aspx 扩展名的空文本文件中。</p>
<p>&lt;%@ Page Language="C#" AutoEventWireup="True" %&gt;</p>
<p>&nbsp;</p>
<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"</p>
<p>&nbsp;&nbsp;&nbsp; "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>"&gt;</p>
<p>&lt;html&nbsp; &gt;</p>
<p>&lt;head&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;title&gt;Literal Example&lt;/title&gt;</p>
<p>&lt;script runat="server"&gt;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void ButtonClick(Object sender, EventArgs e)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Literal1.Text="Welcome to ASP.NET!!";</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp; &lt;/script&gt;</p>
<p>&nbsp;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p>&nbsp;&nbsp; &lt;form id="form1" runat="server"&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;h3&gt;Literal Example&lt;/h3&gt;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Literal id="Literal1"</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Text="Hello World!!"</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runat="server"/&gt;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;br /&gt;&lt;br /&gt;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Button id="Button1"</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Text="Change Literal Text"</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OnClick="ButtonClick"</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runat="server"/&gt;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp; &lt;/form&gt;</p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
<p><a href="http://blog.csdn.net/dodream/archive/2009/11/24/4861545.aspx" target="_blank"></a>&nbsp;</p><img src="aggbug/1690233.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/Fskjb/archive/2010/03/19/1690233.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/Fskjb/archive/2010/03/19/1690233.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59190/" target="_blank">门户网站竞相掀起微博圈地运动</a><span style="color:gray">(2010-03-19 22:26)</span><br/>· <a href="http://news.cnblogs.com/n/59189/" target="_blank">邵晓锋调任阿里集团秘书长 协调子公司资源</a><span style="color:gray">(2010-03-19 22:08)</span><br/>· <a href="http://news.cnblogs.com/n/59187/" target="_blank">Notifo推iPhone应用：弥补邮件推送缺陷</a><span style="color:gray">(2010-03-19 21:04)</span><br/>· <a href="http://news.cnblogs.com/n/59186/" target="_blank">分析：微软IE9现身 网络视频标准争议依旧未解</a><span style="color:gray">(2010-03-19 20:57)</span><br/>· <a href="http://news.cnblogs.com/n/59185/" target="_blank">连线朱骏：陈晓薇离开九城与魔兽无关</a><span style="color:gray">(2010-03-19 20:52)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>[转]全面介绍Windows内存管理机制及C++内存分配实例（一）：进程空间</title><link>http://www.cnblogs.com/nsnow/archive/2010/03/19/1690231.html</link><dc:creator>NSnow</dc:creator><author>NSnow</author><pubDate>Fri, 19 Mar 2010 15:04:00 GMT</pubDate><guid>http://www.cnblogs.com/nsnow/archive/2010/03/19/1690231.html</guid><description><![CDATA[<p>阅读: 1 评论: 0 作者: <a href="" target="_blank">NSnow</a> 发表于 2010-03-19 23:04 <a href="http://www.cnblogs.com/nsnow/archive/2010/03/19/1690231.html" target="_blank">原文链接</a></p><p>来源: http://blog.csdn.net/yeming81/archive/2008/01/16/2046193.aspx</p><p> </p><p style="margin: 0in 0in 0pt;"><strong><span style="font-size: 12pt; font-family: 宋体;">-</span></strong></p> <p style="margin: 0in 0in 0pt;"><strong><span style="font-size: 12pt; font-family: 宋体;">-</span></strong></p> <p style="margin: 0in 0in 0pt;"><strong><span style="font-size: 12pt; font-family: 宋体;">本文背景：</span></strong><strong></strong></p> <p style="margin: 0in 0in 0pt;"><span style="font-size: 12pt; font-family: 宋体;">在编程中，很多</span><span style="font-size: 12pt;">Windows</span><span style="font-size: 12pt; font-family: 宋体;">或</span><span style="font-size: 12pt;">C++</span><span style="font-size: 12pt; font-family: 宋体;">的内存函数不知道有什么区别，更别谈有效使用；根本的原因是，没有清楚的理解操作系统的内存管理机制，本文企图通过简单的总结描述，结合实例来阐明这个机制。</span></p> <p style="margin: 0in 0in 0pt;"><strong><span style="font-size: 12pt; font-family: 宋体;">本文目的：</span></strong><strong></strong></p> <p style="margin: 0in 0in 0pt;"><span style="font-size: 12pt; font-family: 宋体;">对</span><span style="font-size: 12pt;">Windows</span><span style="font-size: 12pt; font-family: 宋体;">内存管理机制了解清楚，有效的利用</span><span style="font-size: 12pt;">C++</span><span style="font-size: 12pt; font-family: 宋体;">内存函数管理和使用内存。</span></p> <p style="margin: 0in 0in 0pt;"><strong><span style="font-size: 12pt; font-family: 宋体;">本文内容：</span></strong><strong></strong></p> <p style="margin: 0in 0in 0pt;"><span style="font-size: 12pt; font-family: 宋体;">本文一共有六节，由于篇幅较多，故按节发表。<span style="font-size: 12pt; font-family: 宋体;">其他章节请看本人博客的</span><span style="font-size: 12pt;">Windows</span><span style="font-size: 12pt; font-family: 宋体;">内存管理及</span><span style="font-size: 12pt;">C++</span><span style="font-size: 12pt; font-family: 宋体;">内存分配实例（二）（三）（四） （五）和（六）。</span></span></p> <p style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in;"><strong><span style="font-size: 12pt;"><span>1.<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span></span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">进程地址空间</span></strong><strong></strong></p> <p style="margin: 0in 0in 0pt 0.25in;"><strong><span style="font-size: 12pt;">1.1</span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">地址空间</span></strong></p> <p style="margin: 0in 0in 0pt 0.75in; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt;">32|64</span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">位的系统</span></strong><strong><span style="font-size: 12pt;">|CPU</span></strong></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">操作系统运行在硬件</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">上，</span><span style="font-size: 12pt;">32</span><span style="font-size: 12pt; font-family: 宋体;">位操作系统运行于</span><span style="font-size: 12pt;">32</span><span style="font-size: 12pt; font-family: 宋体;">位</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">上，</span><span style="font-size: 12pt;">64</span><span style="font-size: 12pt; font-family: 宋体;">位操作系统运行于</span><span style="font-size: 12pt;">64</span><span style="font-size: 12pt; font-family: 宋体;">位</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">上；目前没有真正的</span><span style="font-size: 12pt;">64</span><span style="font-size: 12pt; font-family: 宋体;">位</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">32</span><span style="font-size: 12pt; font-family: 宋体;">位</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">一次只能操作</span><span style="font-size: 12pt;">32</span><span style="font-size: 12pt; font-family: 宋体;">位二进制数；位数多</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">设计越复杂，软件设计越简单。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">软件的进程运行于</span><span style="font-size: 12pt;">32</span><span style="font-size: 12pt; font-family: 宋体;">位系统上，其寻址位也是</span><span style="font-size: 12pt;">32</span><span style="font-size: 12pt; font-family: 宋体;">位，能表示的空间是</span><span style="font-size: 12pt;">2<sup>32</sup>=4G</span><span style="font-size: 12pt; font-family: 宋体;">，范围从</span><span style="font-size: 12pt;">0x0000  0000~0xFFFF FFFF</span><span style="font-size: 12pt; font-family: 宋体;">。</span></p> <p style="margin: 0in 0in 0pt 0.75in; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt;">NULL</span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">指针分区</span></strong></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">范围：</span><span style="font-size: 12pt;">0x0000 0000~0x0000  FFFF</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">作用：保护内存非法访问</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">例子：分配内存时，如果由于某种原因 分配不成功，则返回空指针</span><span style="font-size: 12pt;">0x0000 0000</span><span style="font-size: 12pt; font-family: 宋体;">；当用户继续使用比如改写数据时，系统将因为发生访问违规而退出。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="font-size: 12pt; font-family: 宋体;">那么，为什么需要那么大的区域呢，一个地址值不就行了吗？我在想，是不是因为不让</span><span style="font-size: 12pt;">8</span><span style="font-size: 12pt; font-family: 宋体;">或</span><span style="font-size: 12pt;">16</span><span style="font-size: 12pt; font-family: 宋体;">位的程序运行于</span><span style="font-size: 12pt;">32</span><span style="font-size: 12pt; font-family: 宋体;">位的系统上呢？！因为</span><span style="font-size: 12pt;">NULL</span><span style="font-size: 12pt; font-family: 宋体;">分区刚好范围是</span><span style="font-size: 12pt;">16</span><span style="font-size: 12pt; font-family: 宋体;">的进程空间。</span></p> <p style="margin: 0in 0in 0pt 0.75in; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt; font-family: 宋体;">独享用户分区</span></strong></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">范围：</span><span style="font-size: 12pt;">0x0001 0000~0x7FFE  FFFF</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">作用：进程只能读取或访问这个范围的虚拟地址；超越这个范围的行为都会产生违规退出。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">例子：</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">程序的二进制代码中所用的地址大部分将在这个范围，所有</span><span style="font-size: 12pt;">exe</span><span style="font-size: 12pt; font-family: 宋体;">和</span><span style="font-size: 12pt;">dll</span><span style="font-size: 12pt; font-family: 宋体;">文件都加载到这个。每个进程将近</span><span style="font-size: 12pt;">2G</span><span style="font-size: 12pt; font-family: 宋体;">的空间是独享的。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">注意：如果在</span><span style="font-size: 12pt;">boot.ini</span><span style="font-size: 12pt; font-family: 宋体;">上设置了</span><span style="font-size: 12pt;">/3G</span><span style="font-size: 12pt; font-family: 宋体;">，这个区域的范围从</span><span style="font-size: 12pt;">2G</span><span style="font-size: 12pt; font-family: 宋体;">扩大为</span><span style="font-size: 12pt;">3G</span><span style="font-size: 12pt; font-family: 宋体;">：</span><span style="font-size: 12pt;">0x0001 0000~0xBFFE  FFFF</span><span style="font-size: 12pt; font-family: 宋体;">。</span></p> <p style="margin: 0in 0in 0pt 0.75in; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt; font-family: 宋体;">共享内核分区</span></strong></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">范围：</span><span style="font-size: 12pt;">0x8000 0000~0xFFFF  FFFF</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">作用：这个空间是供操作系统内核代码、设备驱动程序、设备</span><span style="font-size: 12pt;">I/O</span><span style="font-size: 12pt; font-family: 宋体;">高速缓存、非页面内存池的分配、进程目表和页表等。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">例子：</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">这段地址各进程是可以共享的。</span><span style="font-size: 12pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">注意：如果在</span><span style="font-size: 12pt;">boot.ini</span><span style="font-size: 12pt; font-family: 宋体;">上设置了</span><span style="font-size: 12pt;">/3G</span><span style="font-size: 12pt; font-family: 宋体;">，这个区域的范围从</span><span style="font-size: 12pt;">2G</span><span style="font-size: 12pt; font-family: 宋体;">缩小为</span><span style="font-size: 12pt;">1G</span><span style="font-size: 12pt; font-family: 宋体;">：</span><span style="font-size: 12pt;">0xC000 0000~0xFFFF  FFFF</span><span style="font-size: 12pt; font-family: 宋体;">。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">通过以上分析，可以知道，如果系统有</span><span style="font-size: 12pt;">n</span><span style="font-size: 12pt; font-family: 宋体;">个进程，它所需的虚拟空间是：</span><span style="font-size: 12pt;">2G*n+2G (</span><span style="font-size: 12pt; font-family: 宋体;">内核只需</span><span style="font-size: 12pt;">2G</span><span style="font-size: 12pt; font-family: 宋体;">的共享空间</span><span style="font-size: 12pt;">)</span><span style="font-size: 12pt; font-family: 宋体;">。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><strong>&nbsp;</strong></p> <p style="margin: 0in 0in 0pt 0.25in;"><strong><span style="font-size: 12pt;">1.2</span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">地址映射</span></strong></p> <p style="margin: 0in 0in 0pt 0.75in; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt; font-family: 宋体;">区域</span></strong></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">区域指的是上述地址空间中的一片连续地址。区域的大小必须是粒度</span><span style="font-size: 12pt;">(64k) </span><span style="font-size: 12pt; font-family: 宋体;">的整数倍，不是的话系统自动处理成整数倍。不同</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">粒度大小是不一样的，大部分都是</span><span style="font-size: 12pt;">64K</span><span style="font-size: 12pt; font-family: 宋体;">。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">区域的状态有：空闲、私有、映射、映像。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">在你的应用程序中，申请空间的过程称 作保留</span><span style="font-size: 12pt;">(</span><span style="font-size: 12pt; font-family: 宋体;">预订</span><span style="font-size: 12pt;">)</span><span style="font-size: 12pt; font-family: 宋体;">，可以用</span><span style="font-size: 12pt;">VirtualAlloc</span><span style="font-size: 12pt; font-family: 宋体;">；删除空间的过程为释放，可以用</span><span style="font-size: 12pt;">VirtualFree</span><span style="font-size: 12pt; font-family: 宋体;">。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">在程序里预订了地址空间以后，你还不可以存取数据，因为你还没有付钱，没有真实的</span><span style="font-size: 12pt;">RAM</span><span style="font-size: 12pt; font-family: 宋体;">和它关联。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">这时候的区域状态是私有；</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">默认情况下，区域状态是空闲；</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">当</span><span style="font-size: 12pt;">exe</span><span style="font-size: 12pt; font-family: 宋体;">或</span><span style="font-size: 12pt;">DLL</span><span style="font-size: 12pt; font-family: 宋体;">文件被映射进了进程空间后，区域状态变成映像；</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">当一般数据文件被映射进了进程空间 后，区域状态变成映射。</span></p> <p style="margin: 0in 0in 0pt 0.75in; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt; font-family: 宋体;">物理存储器</span></strong></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">Windows</span><span style="font-size: 12pt; font-family: 宋体;">各系列支持的内存上限是不一样的，从</span><span style="font-size: 12pt;">2G</span><span style="font-size: 12pt; font-family: 宋体;">到</span><span style="font-size: 12pt;">64G</span><span style="font-size: 12pt; font-family: 宋体;">不等。理论上</span><span style="font-size: 12pt;">32</span><span style="font-size: 12pt; font-family: 宋体;">位</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">，硬件上只能支持</span><span style="font-size: 12pt;">4G</span><span style="font-size: 12pt; font-family: 宋体;">内存的寻址；能支持超过</span><span style="font-size: 12pt;">4G</span><span style="font-size: 12pt; font-family: 宋体;">的内存只能靠其他技术来弥补。顺便提一下，</span><span style="font-size: 12pt;">Windows</span><span style="font-size: 12pt; font-family: 宋体;">个人版只能支持最大</span><span style="font-size: 12pt;">2G</span><span style="font-size: 12pt; font-family: 宋体;">内存，</span><span style="font-size: 12pt;">Intel</span><span style="font-size: 12pt; font-family: 宋体;">使用</span><span style="font-size: 12pt;">Address Windows  Extension (AWE) </span><span style="font-size: 12pt; font-family: 宋体;">技术使得寻址范围为</span><span style="font-size: 12pt;">2<sup>36</sup>=64G</span><span style="font-size: 12pt; font-family: 宋体;">。当然，也得操作系统配合。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">内存分配的最小单位是</span><span style="font-size: 12pt;">4K</span><span style="font-size: 12pt; font-family: 宋体;">或</span><span style="font-size: 12pt;">8K</span><span style="font-size: 12pt; font-family: 宋体;">，一般来说，根据</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">不同而不同，后面你可以看到可以通过系统函数得到区域粒度和页面粒度。</span></p> <p style="margin: 0in 0in 0pt 0.75in; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt; font-family: 宋体;">页文件</span></strong></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">页文件是存在硬盘上的系统文件，它的大小可以在系统属性里面设置，它相当于物理内存，所以称为虚拟内存。事实上，它的大小是影响系统快慢的关键所在，如果物理内存不多的情况下。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">每页的大小和上述所说内存分配的最小单位是一样的，通常是</span><span style="font-size: 12pt;">4K</span><span style="font-size: 12pt; font-family: 宋体;">或</span><span style="font-size: 12pt;">8K</span><span style="font-size: 12pt; font-family: 宋体;">。</span></p> <p style="margin: 0in 0in 0pt 0.75in; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt; font-family: 宋体;">访问属性</span></strong></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">物理页面的访问属性指的是对页面进行 的具体操作：可读、可写、可执行。</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">一般不支持可执行，它认为可读就是可执行。但是，操作系统提供这个可执行的权限。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">PAGE_NOACCESS</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">PAGE_READONLY</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">PAGE_READWRITE</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">PAGE_EXECUTE</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">PAGE_EXECUTE_READ</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">PAGE_EXECUTE_READWRITE</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">这</span><span style="font-size: 12pt;">6</span><span style="font-size: 12pt; font-family: 宋体;">个属性很好理解，第一个是拒绝所有 操作，最后一个是接受收有操作；</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">PAGE_WRITECOPY</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">PAGE_EXECUTE_WRITECOPY</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">这两个属性在运行同一个程序的多个实 例时非常有用；它使得程序可以共享代码段和数据段。一般情况下，多个进程只读或执行页面，如果要写的话，将会</span><span style="font-size: 12pt;">Copy</span><span style="font-size: 12pt; font-family: 宋体;">页面到新的页面。通过映射</span><span style="font-size: 12pt;">exe</span><span style="font-size: 12pt; font-family: 宋体;">文件时设置这两个属性可以达到这个 目的。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">PAGE_NOCACHE</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">PAGE_WRITECOMBINE</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">这两个是开发设备驱动的时候需要的。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;">PAGE_GUARD</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">当往页面写入一个字节时，应用程序会收到堆栈溢出通知，在线程堆栈时有用。</span></p> <p style="margin: 0in 0in 0pt 0.75in; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt; font-family: 宋体;">映射过程</span></strong></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">进程地址空间的地址是虚拟地址，也就是说，当取到指令时，需要把虚拟地址转化为物理地址才能够存取数据。这个工作通过页目和页表进行。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/yeming81/process.JPG" /></span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">从图中可以看出，页目大小为</span><span style="font-size: 12pt;">4K</span><span style="font-size: 12pt; font-family: 宋体;">，其中每一项</span><span style="font-size: 12pt;">(32</span><span style="font-size: 12pt; font-family: 宋体;">位</span><span style="font-size: 12pt;">)</span><span style="font-size: 12pt; font-family: 宋体;">保存一个页表的物理地址；每个页表 大小为</span><span style="font-size: 12pt;">4K</span><span style="font-size: 12pt; font-family: 宋体;">，其中每一项</span><span style="font-size: 12pt;">(32</span><span style="font-size: 12pt; font-family: 宋体;">位</span><span style="font-size: 12pt;">)</span><span style="font-size: 12pt; font-family: 宋体;">保存一个物理页的物理地址，一共有</span><span style="font-size: 12pt;">1024</span><span style="font-size: 12pt; font-family: 宋体;">个页表。利用这</span><span style="font-size: 12pt;">4K+4K*1K=4.4M</span><span style="font-size: 12pt; font-family: 宋体;">的空间可以表示进程的</span><span style="font-size: 12pt;">1024*1024* (</span><span style="font-size: 12pt; font-family: 宋体;">一页</span><span style="font-size: 12pt;">4K) =4G</span><span style="font-size: 12pt; font-family: 宋体;">的地址空间。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">进程空间中的</span><span style="font-size: 12pt;">32</span><span style="font-size: 12pt; font-family: 宋体;">位地址如下：</span></p> <p><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/yeming81/process1.JPG" /></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt; font-family: 宋体;">高</span><span style="font-size: 12pt;">10</span><span style="font-size: 12pt; font-family: 宋体;">位用来找到</span><span style="font-size: 12pt;">1024</span><span style="font-size: 12pt; font-family: 宋体;">个页目项中的一项，取出页表的物理 地址后，利用中</span><span style="font-size: 12pt;">10</span><span style="font-size: 12pt; font-family: 宋体;">位来得到页表项的值，根据这个值得到物理页的地址，由于一页有</span><span style="font-size: 12pt;">4K</span><span style="font-size: 12pt; font-family: 宋体;">大小，利用低</span><span style="font-size: 12pt;">12</span><span style="font-size: 12pt; font-family: 宋体;">位得到单元地址，这样就可以访问这 个内存单元了。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">每个进程都有自己的一个页目和页表，那么，刚开始进程是怎么找到页目所在的物理页呢？答案是</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">的</span><span style="font-size: 12pt;">CR3</span><span style="font-size: 12pt; font-family: 宋体;">寄存器会保存当前进程的页目物理地址。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">当进程被创建时，同时需要创建页目和页表，一共需要</span><span style="font-size: 12pt;">4.4M</span><span style="font-size: 12pt; font-family: 宋体;">。在进程的空间中，</span><span style="font-size: 12pt;">0xC030  0000~0xC030 0FFF</span><span style="font-size: 12pt; font-family: 宋体;">是用来保存页目的</span><span style="font-size: 12pt;">4k</span><span style="font-size: 12pt; font-family: 宋体;">空间。</span><span style="font-size: 12pt;">0xC000 0000~0xC03F FFFF</span><span style="font-size: 12pt; font-family: 宋体;">是用来保存页表的</span><span style="font-size: 12pt;">4M</span><span style="font-size: 12pt; font-family: 宋体;">空间。也就是说程序里面访问这些地 址你是可以读取页目和页表的具体值的（要工作在内核方式下）。有一点我不明白的是，页表的空间包含了页目的空间！</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">至于说，页目和页表是保存在物理内存还是页文件中，我觉得，页目比较常用，应该在物理内存的概率大点，页表需要时再从页文件导 入物理内存中。</span></p> <p style="margin: 0in 0in 0pt 0.5in;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">页目项和页表项是一个</span><span style="font-size: 12pt;">32</span><span style="font-size: 12pt; font-family: 宋体;">位的值，当页目项第</span><span style="font-size: 12pt;">0</span><span style="font-size: 12pt; font-family: 宋体;">位为</span><span style="font-size: 12pt;">1</span><span style="font-size: 12pt; font-family: 宋体;">时，表明页表已经在物理内存中；当 页表项第</span><span style="font-size: 12pt;">0</span><span style="font-size: 12pt; font-family: 宋体;">位为</span><span style="font-size: 12pt;">1</span><span style="font-size: 12pt; font-family: 宋体;">时，表明访问的数据已经在内存中。还有很多数据是否已经被改变，是否可读写等标志。另外，当页目项第</span><span style="font-size: 12pt;">7</span><span style="font-size: 12pt; font-family: 宋体;">位为</span><span style="font-size: 12pt;">1</span><span style="font-size: 12pt; font-family: 宋体;">时，表明这是一个</span><span style="font-size: 12pt;">4M</span><span style="font-size: 12pt; font-family: 宋体;">的页面，这值已经是物理页地址，用虚 拟地址的低</span><span style="font-size: 12pt;">22</span><span style="font-size: 12pt; font-family: 宋体;">位作为偏移量。还有很多：数据是否 已经被改变、是否可读写等标志。</span></p> <p style="margin: 0in 0in 0pt 0.5in;">&nbsp;</p> <p style="margin: 0in 0in 0pt 0.25in;"><strong><span style="font-size: 12pt;">1.3  </span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">一个例子</span></strong><strong></strong></p> <p style="margin: 0in 0in 0pt 45pt; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt; font-family: 宋体;">编写生成软件程序</span></strong><strong><span style="font-size: 12pt;">exe</span></strong></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt; font-family: 宋体;">软件描述如下：</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt;">Main ()</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt;">{</span></p> <p style="margin: 0in 0in 0pt 57.45pt; text-indent: 12pt;"><span style="font-size: 12pt;">1</span><span style="font-size: 12pt; font-family: 宋体;">：定义全局变量</span></p> <p style="margin: 0in 0in 0pt 57.45pt; text-indent: 12pt;"><span style="font-size: 12pt;">2</span><span style="font-size: 12pt; font-family: 宋体;">：处理函数逻辑（</span><span style="font-size: 12pt;">Load </span><span style="font-size: 12pt; font-family: 宋体;">所需</span><span style="font-size: 12pt;">DLL</span><span style="font-size: 12pt; font-family: 宋体;">库，调用方法处理逻辑）</span></p> <p style="margin: 0in 0in 0pt 57.45pt; text-indent: 12pt;"><span style="font-size: 12pt;">3</span><span style="font-size: 12pt; font-family: 宋体;">：定义并实现各种方法（方法含有局部变量）</span></p> <p style="margin: 0in 0in 0pt;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4</span><span style="font-size: 12pt; font-family: 宋体;">：程序结束</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt;">}</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt; font-family: 宋体;">将程序编译，生成</span><span style="font-size: 12pt;">exe</span><span style="font-size: 12pt; font-family: 宋体;">文件，附带所需的</span><span style="font-size: 12pt;">DLL</span><span style="font-size: 12pt; font-family: 宋体;">库。</span></p> <p style="margin: 0in 0in 0pt 45pt; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt;">exe</span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">文件格式</span></strong></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt;">exe</span><span style="font-size: 12pt; font-family: 宋体;">文件有自己的格式，有若干节（</span><span style="font-size: 12pt;">section</span><span style="font-size: 12pt; font-family: 宋体;">）：</span><span style="font-size: 12pt;">.text</span><span style="font-size: 12pt; font-family: 宋体;">用来放二进制代码（</span><span style="font-size: 12pt;">exe</span><span style="font-size: 12pt; font-family: 宋体;">或</span><span style="font-size: 12pt;">dll</span><span style="font-size: 12pt; font-family: 宋体;">）；</span><span style="font-size: 12pt;">.data</span><span style="font-size: 12pt; font-family: 宋体;">用来放各种全局数据。</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt;">.text</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt; font-family: 宋体;">指令</span><span style="font-size: 12pt;">1</span><span style="font-size: 12pt; font-family: 宋体;">：</span><span style="font-size: 12pt;">move a, b</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt; font-family: 宋体;">指令</span><span style="font-size: 12pt;">2</span><span style="font-size: 12pt; font-family: 宋体;">：</span><span style="font-size: 12pt;">add a, b</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt;">&#8230;</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt;">.data</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt; font-family: 宋体;">数据</span><span style="font-size: 12pt;">1</span><span style="font-size: 12pt; font-family: 宋体;">：</span><span style="font-size: 12pt;">a=2</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt; font-family: 宋体;">数据</span><span style="font-size: 12pt;">2</span><span style="font-size: 12pt; font-family: 宋体;">：</span><span style="font-size: 12pt;">b=1</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt;">&#8230;</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt; font-family: 宋体;">这些地址都是虚拟地址，也就是进程的地址空间。</span></p> <p style="margin: 0in 0in 0pt 45pt; text-indent: -0.25in;"><span style="font-size: 12pt; font-family: Symbol;">&#183;<span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 12pt; font-family: 宋体;">运行</span></strong><strong><span style="font-size: 12pt;">exe</span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">程序</span></strong></p> <p style="margin: 0in 0in 0pt 57.45pt;"><strong><span style="font-size: 12pt; font-family: 宋体;">建立进程：</span></strong><span style="font-size: 12pt; font-family: 宋体;">运行这个</span><span style="font-size: 12pt;">exe</span><span style="font-size: 12pt; font-family: 宋体;">程序时，系统会创建一个进程，建立进程控制块</span><span style="font-size: 12pt;">PCB</span><span style="font-size: 12pt; font-family: 宋体;">，生成进程页目和页表，放到</span><span style="font-size: 12pt;">PCB</span><span style="font-size: 12pt; font-family: 宋体;">中。</span></p> <p style="margin: 0in 0in 0pt 57.45pt;">&nbsp;</p> <p style="margin: 0in 0in 0pt 57.45pt;"><strong><span style="font-size: 12pt; font-family: 宋体;">数据对齐：</span></strong><span style="font-size: 12pt; font-family: 宋体;">数据的内存地址除以数据的大小，余数为</span><span style="font-size: 12pt;">0</span><span style="font-size: 12pt; font-family: 宋体;">时说明数据是对齐的。现在的编译器编译时就考虑数据对齐的问题，生成</span><span style="font-size: 12pt;">exe</span><span style="font-size: 12pt; font-family: 宋体;">文件后，数据基本上是对齐的，</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">运行时，寄存器有标志标识</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">是否能够自动对齐数据，如果遇到不能对齐的情况，或者通过两次访问内存，或者通知操作系统处理。</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt; font-family: 宋体;">要注意的是，如果数据没有对齐，</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">处理的效率是很低的。</span></p> <p style="margin: 0in 0in 0pt 57.45pt;">&nbsp;</p> <p style="margin: 0in 0in 0pt 57.45pt;"><strong><span style="font-size: 12pt; font-family: 宋体;">文件映射：</span></strong><span style="font-size: 12pt; font-family: 宋体;">系统不会将整个</span><span style="font-size: 12pt;">exe</span><span style="font-size: 12pt; font-family: 宋体;">文件和所有的</span><span style="font-size: 12pt;">DLL</span><span style="font-size: 12pt; font-family: 宋体;">文件装载进物理内存中，同时它也不会装载进页面文件中。相反，它会建立文件映射，也就是利用</span><span style="font-size: 12pt;">exe</span><span style="font-size: 12pt; font-family: 宋体;">本身当作页面文件。系统将部分二进制代码装载进内存，分配页面给它。</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">假设分配了一个页面，物理地址为</span><span style="font-size: 12pt;">0x0232 FFF1</span><span style="font-size: 12pt; font-family: 宋体;">。其中装载的一个指令虚拟地址为</span><span style="font-size: 12pt;">0x4000 1001=<strong>0100 0000 00</strong> 0000 0000 01 <strong>0000 0000  0001</strong></span><span style="font-size: 12pt; font-family: 宋体;">。一个页面有</span><span style="font-size: 12pt;">4K</span><span style="font-size: 12pt; font-family: 宋体;">，系统会将指令保存在低</span><span style="font-size: 12pt;">12</span><span style="font-size: 12pt; font-family: 宋体;">位</span><span style="font-size: 12pt;">0x0001</span><span style="font-size: 12pt; font-family: 宋体;">的地址处。同时，系统根据高</span><span style="font-size: 12pt;">10</span><span style="font-size: 12pt; font-family: 宋体;">位</span><span style="font-size: 12pt;">0x0100</span><span style="font-size: 12pt; font-family: 宋体;">找到页目项，如果没有关联的页表， 系统会生成一个页表，分配一个物理页；然后，根据中</span><span style="font-size: 12pt;">10</span><span style="font-size: 12pt; font-family: 宋体;">位</span><span style="font-size: 12pt;">0x0001</span><span style="font-size: 12pt; font-family: 宋体;">找到表项，将物理地址</span><span style="font-size: 12pt;">0x0232 FFF1</span><span style="font-size: 12pt; font-family: 宋体;">存进去。</span></p> <p style="margin: 0in 0in 0pt 57.45pt;">&nbsp;</p> <p style="margin: 0in 0in 0pt 57.45pt;"><strong><span style="font-size: 12pt; font-family: 宋体;">执行过程：</span></strong></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt; font-family: 宋体;">执行时，当系统拿到一个虚拟地址，就 根据页目和页表找到数据的地址，根据页目上的值可以判断页表是在页文件中还是在内存中；</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt; font-family: 宋体;">如果在页文件中，会将页面导入内存，更新页目项。读取页表项的值后，可以判断数据页文件中还是在物理内存中；如果在页文件中，会导入到内存中，更新页表项。最终，拿到了数据。</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">在分配物理页的过程中，系统会根据内存分配的状况适当淘汰暂时不用的页面，如果页面内容改变了（通过页表项的标志位），保存到页文件中，系统会维护内存与页文件的对应关系。</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt; font-family: 宋体;">由于将</span><span style="font-size: 12pt;">exe</span><span style="font-size: 12pt; font-family: 宋体;">文件当作内存映射文件，当需要改变 数据，如更改全局变量的值时，利用</span><span style="font-size: 12pt;">Copy-On-Write</span><span style="font-size: 12pt; font-family: 宋体;">的机制，重新生成页文件，将结果保存在这个页文件中，原来的页文件还是需要被其他进程实 例使用的。</span></p> <p style="margin: 0in 0in 0pt 57.45pt;"><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </span></span><span style="font-size: 12pt; font-family: 宋体;">在清楚了指令和数据是如何导入内存，如何找到它们的情况下，剩下的就是</span><span style="font-size: 12pt;">CPU</span><span style="font-size: 12pt; font-family: 宋体;">不断的取指令、运行、保存数据的过程了，当进程结束后，系统会清空之前的各种结构、释放相关的物理内存和删除页文件。</span><strong><span style="font-size: 12pt;"><span>&nbsp;&nbsp;&nbsp;  </span></span></strong></p> <p style="margin: 0in 0in 0pt;"><span style="font-size: 12pt; font-family: 宋体;">其他章节请看本人博客的</span><span style="font-size: 12pt;">Windows</span><span style="font-size: 12pt; font-family: 宋体;">内存管理及</span><span style="font-size: 12pt;">C++</span><span style="font-size: 12pt; font-family: 宋体;">内存分配实例（二）（三）（四） （五）和（六）。</span></p> <p style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in;" align="left"><strong><span style="font-size: 12pt;">2.</span></strong><strong><span style="font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">内存状态查询函数</span></strong></p>  <p style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in;" align="left"><strong><span style="font-size: 12pt;">3.</span></strong><strong><span style="font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">内存管理机制</span></strong><strong><span style="font-size: 12pt;">--</span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">虚拟内存</span></strong><strong><span style="font-size: 12pt;">  (VM)</span></strong></p> <p style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in;" align="left"><strong><span style="font-size: 12pt;">4.</span></strong><strong><span style="font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">内存管理机制</span></strong><strong><span style="font-size: 12pt;">--</span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">内存映射文件</span></strong><strong><span style="font-size: 12pt;">  (Map)</span></strong></p> <p style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in;" align="left"><strong><span style="font-size: 12pt;">5.</span></strong><strong><span style="font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">内存管理机制</span></strong><strong><span style="font-size: 12pt;">--</span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">堆</span></strong><strong><span style="font-size: 12pt;">  (Heap)</span></strong></p> <p style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in;" align="left"><strong><span style="font-size: 12pt;">6.</span></strong><strong><span style="font-size: 7pt;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">内存管理机制</span></strong><strong><span style="font-size: 12pt;">--</span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">堆栈</span></strong><strong><span style="font-size: 12pt;">  (Stack)</span></strong></p> <p style="margin: 0in 0in 0pt 0.25in; text-indent: -0.25in;" align="left"><strong></strong></p> <strong><span style="font-size: 12pt;">----</span></strong><strong><span style="font-size: 12pt; font-family: 宋体;">文章结束</span></strong><strong><span style="font-size: 12pt;">----</span></strong>&nbsp;<p>&nbsp;</p><img src="aggbug/1690231.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/nsnow/archive/2010/03/19/1690231.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/nsnow/archive/2010/03/19/1690231.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59190/" target="_blank">门户网站竞相掀起微博圈地运动</a><span style="color:gray">(2010-03-19 22:26)</span><br/>· <a href="http://news.cnblogs.com/n/59189/" target="_blank">邵晓锋调任阿里集团秘书长 协调子公司资源</a><span style="color:gray">(2010-03-19 22:08)</span><br/>· <a href="http://news.cnblogs.com/n/59187/" target="_blank">Notifo推iPhone应用：弥补邮件推送缺陷</a><span style="color:gray">(2010-03-19 21:04)</span><br/>· <a href="http://news.cnblogs.com/n/59186/" target="_blank">分析：微软IE9现身 网络视频标准争议依旧未解</a><span style="color:gray">(2010-03-19 20:57)</span><br/>· <a href="http://news.cnblogs.com/n/59185/" target="_blank">连线朱骏：陈晓薇离开九城与魔兽无关</a><span style="color:gray">(2010-03-19 20:52)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>根据姓名得到名字首字母</title><link>http://www.cnblogs.com/delicious28/archive/2010/03/19/1690229.html</link><dc:creator>苏州毛毛</dc:creator><author>苏州毛毛</author><pubDate>Fri, 19 Mar 2010 15:03:00 GMT</pubDate><guid>http://www.cnblogs.com/delicious28/archive/2010/03/19/1690229.html</guid><description><![CDATA[<p>阅读: 3 评论: 0 作者: <a href="" target="_blank">苏州毛毛</a> 发表于 2010-03-19 23:03 <a href="http://www.cnblogs.com/delicious28/archive/2010/03/19/1690229.html" target="_blank">原文链接</a></p><p>&nbsp;</p>
<div onclick="cnblogs_code_show('a0fa6668-032e-4665-9dff-8b99a14add27')" class="cnblogs_code"><img src="http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" class="code_img_closed" id="code_img_closed_a0fa6668-032e-4665-9dff-8b99a14add27" /><img src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" onclick="cnblogs_code_hide('a0fa6668-032e-4665-9dff-8b99a14add27',event)" class="code_img_opened" id="code_img_opened_a0fa6668-032e-4665-9dff-8b99a14add27" style="display: none;" /><span class="cnblogs_code_collapse">代码</span>
<div class="cnblogs_code_hide" id="cnblogs_code_open_a0fa6668-032e-4665-9dff-8b99a14add27">
<pre><div><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #808080;">///</span><span style="color: #008000;"> </span><span style="color: #808080;">&lt;summary&gt;</span><span style="color: #008000;"> <br />        </span><span style="color: #808080;">///</span><span style="color: #008000;"> 在指定的字符串列表CnStr中检索符合拼音索引字符串 <br />        </span><span style="color: #808080;">///</span><span style="color: #008000;"> </span><span style="color: #808080;">&lt;/summary&gt;</span><span style="color: #008000;"> <br />        </span><span style="color: #808080;">///</span><span style="color: #008000;"> </span><span style="color: #808080;">&lt;param name="CnStr"&gt;</span><span style="color: #008000;">汉字字符串</span><span style="color: #808080;">&lt;/param&gt;</span><span style="color: #008000;"> <br />        </span><span style="color: #808080;">///</span><span style="color: #008000;"> </span><span style="color: #808080;">&lt;returns&gt;</span><span style="color: #008000;">相对应的汉语拼音首字母串</span><span style="color: #808080;">&lt;/returns&gt;</span><span style="color: #008000;"> </span><span style="color: #808080;"><br /></span><span style="color: #000000;">        </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">static</span><span style="color: #000000;"> </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> GetSpellCode(</span><span style="color: #0000ff;">string</span><span style="color: #000000;"> CnStr)<br />        {<br />            </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> strTemp </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">""</span><span style="color: #000000;">;<br />            </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> iLen </span><span style="color: #000000;">=</span><span style="color: #000000;"> CnStr.Length;<br />            </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">0</span><span style="color: #000000;">;<br /><br />            </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (i </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800080;">0</span><span style="color: #000000;">; i </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> iLen </span><span style="color: #000000;">-</span><span style="color: #000000;"> </span><span style="color: #800080;">1</span><span style="color: #000000;">; i</span><span style="color: #000000;">++</span><span style="color: #000000;">)<br />            {<br />                strTemp </span><span style="color: #000000;">+=</span><span style="color: #000000;"> GetCharSpellCode(CnStr.Substring(i, </span><span style="color: #800080;">1</span><span style="color: #000000;">));<br />            }<br /><br />            </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> strTemp;<br />        }<br />        </span><span style="color: #808080;">///</span><span style="color: #008000;"> </span><span style="color: #808080;">&lt;summary&gt;</span><span style="color: #008000;"> <br />        </span><span style="color: #808080;">///</span><span style="color: #008000;"> 得到一个汉字的拼音第一个字母，如果是一个英文字母则直接返回大写字母 <br />        </span><span style="color: #808080;">///</span><span style="color: #008000;"> </span><span style="color: #808080;">&lt;/summary&gt;</span><span style="color: #008000;"> <br />        </span><span style="color: #808080;">///</span><span style="color: #008000;"> </span><span style="color: #808080;">&lt;param name="CnChar"&gt;</span><span style="color: #008000;">单个汉字</span><span style="color: #808080;">&lt;/param&gt;</span><span style="color: #008000;"> <br />        </span><span style="color: #808080;">///</span><span style="color: #008000;"> </span><span style="color: #808080;">&lt;returns&gt;</span><span style="color: #008000;">单个大写字母</span><span style="color: #808080;">&lt;/returns&gt;</span><span style="color: #008000;"> </span><span style="color: #808080;"><br /></span><span style="color: #000000;">        </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> </span><span style="color: #0000ff;">static</span><span style="color: #000000;"> </span><span style="color: #0000ff;">string</span><span style="color: #000000;"> GetCharSpellCode(</span><span style="color: #0000ff;">string</span><span style="color: #000000;"> CnChar)<br />        {<br />            </span><span style="color: #0000ff;">long</span><span style="color: #000000;"> iCnChar;<br /><br />            </span><span style="color: #0000ff;">byte</span><span style="color: #000000;">[] ZW </span><span style="color: #000000;">=</span><span style="color: #000000;"> System.Text.Encoding.Default.GetBytes(CnChar);<br /><br />            </span><span style="color: #008000;">//</span><span style="color: #008000;">如果是字母，则直接返回 </span><span style="color: #008000;"><br /></span><span style="color: #000000;">            </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (ZW.Length </span><span style="color: #000000;">==</span><span style="color: #000000;"> </span><span style="color: #800080;">1</span><span style="color: #000000;">)<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> CnChar.ToUpper();<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"><br />            {<br />                </span><span style="color: #008000;">//</span><span style="color: #008000;"> get the array of byte from the single char </span><span style="color: #008000;"><br /></span><span style="color: #000000;">                </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i1 </span><span style="color: #000000;">=</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">short</span><span style="color: #000000;">)(ZW[</span><span style="color: #800080;">0</span><span style="color: #000000;">]);<br />                </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i2 </span><span style="color: #000000;">=</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">short</span><span style="color: #000000;">)(ZW[</span><span style="color: #800080;">1</span><span style="color: #000000;">]);<br />                iCnChar </span><span style="color: #000000;">=</span><span style="color: #000000;"> i1 </span><span style="color: #000000;">*</span><span style="color: #000000;"> </span><span style="color: #800080;">256</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> i2;<br />            }<br /><br />            </span><span style="color: #008000;">//</span><span style="color: #008000;"> iCnChar match the constant </span><span style="color: #008000;"><br /></span><span style="color: #000000;">            </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">45217</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">45252</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">A</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">45253</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">45760</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">B</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">45761</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">46317</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">C</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">46318</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">46825</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">D</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">46826</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">47009</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">E</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">47010</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">47296</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">F</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">47297</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">47613</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">G</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">47614</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">48118</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">H</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">48119</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">49061</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">J</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">49062</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">49323</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">K</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">49324</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">49895</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">L</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">49896</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">50370</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">M</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br /><br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">50371</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">50613</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">N</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">50614</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">50621</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">O</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">50622</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">50905</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">P</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">50906</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">51386</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">Q</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">51387</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">51445</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">R</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">51446</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">52217</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">S</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">52218</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">52697</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">T</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">52698</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">52979</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">W</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">52980</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">53640</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">X</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">53689</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">54480</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">Y</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> ((iCnChar </span><span style="color: #000000;">&gt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">54481</span><span style="color: #000000;">) </span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;"> (iCnChar </span><span style="color: #000000;">&lt;=</span><span style="color: #000000;"> </span><span style="color: #800080;">55289</span><span style="color: #000000;">))<br />            {<br />                </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> </span><span style="color: #800000;">"</span><span style="color: #800000;">Z</span><span style="color: #800000;">"</span><span style="color: #000000;">;<br />            }<br />            </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> (</span><span style="color: #800000;">""</span><span style="color: #000000;">);<br />        }<br /></span></div></pre>
</div>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p><img src="aggbug/1690229.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/delicious28/archive/2010/03/19/1690229.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/delicious28/archive/2010/03/19/1690229.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59190/" target="_blank">门户网站竞相掀起微博圈地运动</a><span style="color:gray">(2010-03-19 22:26)</span><br/>· <a href="http://news.cnblogs.com/n/59189/" target="_blank">邵晓锋调任阿里集团秘书长 协调子公司资源</a><span style="color:gray">(2010-03-19 22:08)</span><br/>· <a href="http://news.cnblogs.com/n/59187/" target="_blank">Notifo推iPhone应用：弥补邮件推送缺陷</a><span style="color:gray">(2010-03-19 21:04)</span><br/>· <a href="http://news.cnblogs.com/n/59186/" target="_blank">分析：微软IE9现身 网络视频标准争议依旧未解</a><span style="color:gray">(2010-03-19 20:57)</span><br/>· <a href="http://news.cnblogs.com/n/59185/" target="_blank">连线朱骏：陈晓薇离开九城与魔兽无关</a><span style="color:gray">(2010-03-19 20:52)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>.net(c#)跨页面传值的几种方式</title><link>http://www.cnblogs.com/lianglee/archive/2010/03/19/1690224.html</link><dc:creator>moonlee</dc:creator><author>moonlee</author><pubDate>Fri, 19 Mar 2010 14:57:00 GMT</pubDate><guid>http://www.cnblogs.com/lianglee/archive/2010/03/19/1690224.html</guid><description><![CDATA[<p>阅读: 0 评论: 0 作者: <a href="" target="_blank">moonlee</a> 发表于 2010-03-19 22:57 <a href="http://www.cnblogs.com/lianglee/archive/2010/03/19/1690224.html" target="_blank">原文链接</a></p><p>1.querystring的方式：将需要的值直接写到链接的后面，这些内容将直接显示到</p>
<p>地址栏中，在传递安全性要求不高的一个或多个值或者是结构简单的值就可以使</p>
<p>用这样的方法。</p>
<p>如： Response.Redirect( "target.aspx?param1=hello?m2=hi ")</p>
<p>在接收页面可以通过request的方式得到所传递的值：&nbsp;&nbsp; string&nbsp;&nbsp; str&nbsp;&nbsp; =&nbsp;&nbsp; </p>
<p>Request.QueryString["param1"];</p>
<p>2.cookie方式，使用cookie对象方式，cookie是放在客户端的</p>
<p>设置Cookie:&nbsp;&nbsp; HttpCookie cookie_name = new HttpCookie("name");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookie_name.Value = Label1.Text;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Reponse.AppendCookie(cookie_name);</p>
<p>获取Cookie:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string name= Request.Cookie</p>
<p>["name"].Value.ToString();</p>
<p>3.session变量，session是放置于服务器端的</p>
<p>设置Session:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Session["name"] ="hello";</p>
<p>获取Session:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string name = Session["name"].ToString();</p>
<p>4.使用Application 对象变量</p>
<p>Application对象的作用范围是整个全局，也就是说对所有用户都有效。此种方法</p>
<p>不常使用，因为Application在一个应用程序域范围共享，所有用户可以改变及设</p>
<p>置其值，故只应用计数器等需要全局变量的地方。</p>
<p>设置Application :&nbsp;&nbsp;&nbsp; Application["name"] = ="hello";</p>
<p>获取Application :&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp; name = Application["name"].ToString();</p>
<p>5. PostBackUrl()方法</p>
<p>default.aspx页面：</p>
<p>Code</p>
<p>1 &lt;asp:Button ID="Button1" Runat="server" Text="PostToAnotherPage" </p>
<p>PostBackUrl="~/Default2.aspx" /&gt;</p>
<p>2</p>
<p>default2.aspx页面：</p>
<p>Code</p>
<p>1 if (PreviousPage != null)</p>
<p>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TextBox textBox1 = (TextBox)PreviousPage.FindControl</p>
<p>("TextBox1");</p>
<p>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.write(textBox1.Text );</p>
<p>5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }、</p>
<p>6.用Server.Transfer方法</p>
<p>&nbsp;&nbsp;&nbsp; 这个才可以说是面象对象开发所使用的方法，其使用Server.Transfer方法把</p>
<p>流程从当前页面引导到另一个页面中，新的页面使用前一个页面的应答流，所以</p>
<p>这个方法是完全面象对象的，简洁有效。下面这个代码是展示在需要很多个参数</p>
<p>的时候,使用的方法,如果参数比较少就没必要使用这个方法了.</p>
<p>如果让所有的查询页面都继承一个接口，在该接口中定义一个方法，该方法的唯</p>
<p>一作用就是让结果页面获得构建结果时所需的参数,就可实现多页面共享一个结果</p>
<p>页面操作！</p>
<p>1、先定义一个类，用该类放置所有查询参数：</p>
<p>Code</p>
<p>/**//// &lt;summary&gt;</p>
<p>/// QueryParams 的摘要说明</p>
<p>/// &lt;/summary&gt;</p>
<p>public class QueryParams</p>
<p>{</p>
<p>private&nbsp;&nbsp; string&nbsp;&nbsp; firstName;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private&nbsp;&nbsp; string&nbsp;&nbsp; lastname;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private&nbsp;&nbsp; int&nbsp;&nbsp;&nbsp; age;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string Firstname</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get { return this.firstname; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set { this.firstname = value; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string LastName</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get { return this.lastname; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set { this.lastname = value; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public string Age</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get { return this.age; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set { this.age = value; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>}</p>
<p>2、接口定义：</p>
<p>Code</p>
<p>/**////&nbsp;&nbsp; &lt;summary &gt;</p>
<p>&nbsp;&nbsp;&nbsp; ///&nbsp;&nbsp; 定义查询接口。</p>
<p>&nbsp;&nbsp;&nbsp; ///&nbsp;&nbsp; &lt;/summary &gt;</p>
<p>&nbsp;&nbsp;&nbsp; public interface IQueryParams</p>
<p>&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /**////&nbsp;&nbsp; &lt;summary &gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ///&nbsp;&nbsp; 参数</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ///&nbsp;&nbsp; &lt;/summary &gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QueryParams Parameters { get;}</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 3、查询页面继承IQueryParams接口(QueryPage.aspx)：</p>
<p>QueryPage.aspx</p>
<p>Code</p>
<p>&lt;form id="form1" runat="server"&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;div&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:TextBox ID="txtFirstName" runat="server"&gt;&lt;/asp:TextBox&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:TextBox ID="txtLastName" runat="server"&gt;&lt;/asp:TextBox&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:TextBox ID="txtAge" runat="server"&gt;&lt;/asp:TextBox&gt;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;asp:Button ID="btnEnter" runat="server" Text="Button" </p>
<p>OnClick="btnEnter_Click" /&gt;&lt;/div&gt;</p>
<p>&nbsp;&nbsp;&nbsp; &lt;/form&gt;</p>
<p>QueryPage.aspx.cs</p>
<p>Code</p>
<p>public partial class QueryPage : System.Web.UI.Page, IQueryParams</p>
<p>{</p>
<p>&nbsp;&nbsp;&nbsp; private QueryParams queryParams;</p>
<p>&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public&nbsp;&nbsp; QueryParams&nbsp;&nbsp; Parameters</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; get</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp; queryParams;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public&nbsp;&nbsp; void&nbsp;&nbsp; btnEnter_Click(object&nbsp;&nbsp; sender,&nbsp;&nbsp; </p>
<p>System.EventArgs&nbsp;&nbsp; e)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //赋值</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; queryParams&nbsp;&nbsp; =&nbsp;&nbsp; new&nbsp;&nbsp; QueryParams();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; queryParams.FirstnName = this.txtFirstName.Text;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; queryParams.Lastname = this.txtLastName.Text;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; queryParams.Age = this.txtAge.Text;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Server.Transfer( "ResultPage.aspx ");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp; protected void Page_Load(object sender, EventArgs e)</p>
<p>&nbsp;&nbsp;&nbsp; { }</p>
<p>}</p>
<p>4、接收页面(ResultPage.aspx)：</p>
<p>ResultPage.aspx.cs</p>
<p>public partial class ResultPage : System.Web.UI.Page</p>
<p>{</p>
<p>&nbsp;&nbsp;&nbsp; protected void Page_Load(object sender, EventArgs e)</p>
<p>&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QueryParams queryParams = new QueryParams();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IQueryParams queryInterface;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //实现该接口的页面</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (Context.Handler is IQueryParams)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; queryInterface = (IQueryParams)Context.Handler;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; queryParams = queryInterface.Parameters;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Write("FirstName： ");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Write(queryParams.FirstName);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Write(" &lt;br/ &gt;Lastname： ");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Write(queryParams.LastName);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Write(" &lt;br/ &gt;Age： ");</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Response.Write(queryParams.Age);</p>
<p>&nbsp;&nbsp;&nbsp; }</p>
<p>} </p><img src="aggbug/1690224.html?type=0" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/lianglee/archive/2010/03/19/1690224.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/lianglee/archive/2010/03/19/1690224.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59190/" target="_blank">门户网站竞相掀起微博圈地运动</a><span style="color:gray">(2010-03-19 22:26)</span><br/>· <a href="http://news.cnblogs.com/n/59189/" target="_blank">邵晓锋调任阿里集团秘书长 协调子公司资源</a><span style="color:gray">(2010-03-19 22:08)</span><br/>· <a href="http://news.cnblogs.com/n/59187/" target="_blank">Notifo推iPhone应用：弥补邮件推送缺陷</a><span style="color:gray">(2010-03-19 21:04)</span><br/>· <a href="http://news.cnblogs.com/n/59186/" target="_blank">分析：微软IE9现身 网络视频标准争议依旧未解</a><span style="color:gray">(2010-03-19 20:57)</span><br/>· <a href="http://news.cnblogs.com/n/59185/" target="_blank">连线朱骏：陈晓薇离开九城与魔兽无关</a><span style="color:gray">(2010-03-19 20:52)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/59093/" target="_blank">[视频]想做你的Code</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item></channel></rss>