<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[清风居-清风博客]]></title>
<link>http://www.qingfengju.com/</link>
<description><![CDATA[专注于计算机技术]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[dgx_lsyd3@163.com(淡月清风)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>清风居-清风博客</title>
	<url>http://www.qingfengju.com/images/logos.gif</url>
	<link>http://www.qingfengju.com/</link>
	<description>清风居-清风博客</description>
</image>

			<item>
			<link>http://www.qingfengju.com/article.asp?id=285</link>
			<title><![CDATA[实现自己的俄罗斯方块]]></title>
			<author>dgx_lsyd3@163.com(淡月清风)</author>
			<category><![CDATA[Win32/C++]]></category>
			<pubDate>Sun,13 May 2012 22:32:16 +0800</pubDate>
			<guid>http://www.qingfengju.com/default.asp?id=285</guid>
		<description><![CDATA[<p>难得这两天有点空闲时间，也实现了自己的一个俄罗斯方块，截图如下：<br />
<br />
<img alt="" board="0" src="http://www.qingfengju.com/download.asp?id=90" /><br />
<br />
源码： <a href="http://www.qingfengju.com/download.asp?id=91"><img border="0" alt="" style="margin: 0px 2px -4px 0px" src="http://www.qingfengju.com/images/download.gif" />点击这里下载</a><br />
&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.qingfengju.com/article.asp?id=286</link>
			<title><![CDATA[面试题：链表的逆转]]></title>
			<author>dgx_lsyd3@163.com(淡月清风)</author>
			<category><![CDATA[Win32/C++]]></category>
			<pubDate>Wed,09 May 2012 17:16:53 +0800</pubDate>
			<guid>http://www.qingfengju.com/default.asp?id=286</guid>
		<description><![CDATA[<p>&nbsp;<span style="color: #0000ff">struct </span><span style="color: #0000ff">Node</span><br />
&nbsp;{<br />
&nbsp;&nbsp;<span style="color: #0000ff">int </span>data;<br />
&nbsp;&nbsp;<span style="color: #0000ff">Node</span>* next;<br />
&nbsp;};<br />
<br />
<span style="color: #0000ff">Node </span>*_pHead=...;<br />
<br />
&nbsp;<span style="color: #0000ff">void </span><span style="color: #800000">Reverse</span>()<br />
&nbsp;{<br />
&nbsp;&nbsp;<span style="color: #0000ff">if </span>(_pHead==NULL)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">return</span>;<br />
&nbsp;&nbsp;}</p>
<p><span style="color: #339966">&nbsp;&nbsp;//首先将原头结点作为逆转后链表的头结点<br />
</span>&nbsp;&nbsp;<span style="color: #0000ff">Node</span>* pReverseHead=_pHead;</p>
<p><span style="color: #339966">&nbsp;&nbsp;//从头节点开始，遍历每个节点<br />
</span>&nbsp;&nbsp;<span style="color: #0000ff">Node</span>* pNode=_pHead;<br />
&nbsp;&nbsp;<span style="color: #0000ff">while</span>(pNode!=NULL)<br />
&nbsp;&nbsp;{<br />
<span style="color: #339966">&nbsp;&nbsp;&nbsp;//保存当前节点的[下一个节点]<br />
</span>&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">Node</span>* pTmpNext=pNode-&gt;next;</p>
<p><span style="color: #339966">&nbsp;&nbsp;&nbsp;//将头结点串接在当前节点之后<br />
</span>&nbsp;&nbsp;&nbsp;pNode-&gt;next=pReverseHead;</p>
<p><span style="color: #339966">&nbsp;&nbsp;&nbsp;//将当前节点作为头结点<br />
</span>&nbsp;&nbsp;&nbsp;pReverseHead=pNode;</p>
<p><span style="color: #339966">&nbsp;&nbsp;&nbsp;//处理当前节点的[下一个节点]<br />
</span>&nbsp;&nbsp;&nbsp;pNode=pTmpNext;<br />
&nbsp;&nbsp;}</p>
<p><span style="color: #339966">&nbsp;&nbsp;//逆转之后，原始头结点将变成最后一个节点，所以将其next置为NULL<br />
</span>&nbsp;&nbsp;_pHead-&gt;next=NULL;</p>
<p><span style="color: #339966">&nbsp;&nbsp;//改变头结点为逆转后的头结点<br />
</span>&nbsp;&nbsp;_pHead=pReverseHead;<br />
&nbsp;}<br />
<br />
辅助函数：<br />
&nbsp;void AddToHead(int data)<br />
&nbsp;{<br />
&nbsp;&nbsp;Node* pNewNode=new Node();<br />
&nbsp;&nbsp;pNewNode-&gt;data=data;<br />
&nbsp;&nbsp;pNewNode-&gt;next=NULL;</p>
<p>&nbsp;&nbsp;if (_pHead==NULL)<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;_pHead=pNewNode;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;else<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;pNewNode-&gt;next=_pHead;<br />
&nbsp;&nbsp;&nbsp;_pHead=pNewNode;<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
&nbsp;<br />
源码：<img alt="" border="0" style="margin: 0px 2px -4px 0px" src="http://www.qingfengju.com/images/download.gif" /><a target="_blank" href="http://www.qingfengju.com/attachments/month_1205/20120513172456.zip">点击下载</a></p>]]></description>
		</item>
		
			<item>
			<link>http://www.qingfengju.com/article.asp?id=287</link>
			<title><![CDATA[用Maple13解不等式组]]></title>
			<author>dgx_lsyd3@163.com(淡月清风)</author>
			<category><![CDATA[杂谈随感]]></category>
			<pubDate>Wed,09 May 2012 12:32:01 +0800</pubDate>
			<guid>http://www.qingfengju.com/default.asp?id=287</guid>
		<description><![CDATA[<p>午休时，群里有人问了一道中学数学题，正好这两天我看了一下Maple13，呵呵，尝试用Maple13来解一下：<br />
<br />
题为：解不等式组<br />
<img alt="" src="http://www.qingfengju.com/download.asp?id=93" /></p>
<p><strong>1.直接用Maple求解：</strong><br />
<span style="color: #ff0000">&gt; solve({1*x + 1*y &lt;= 4,4*x + 3*y &lt;= 12,1*x + 3*y &lt;= 6},{x,y});</span><br />
得：<br />
<img alt="" src="http://www.qingfengju.com/download.asp?id=94" /></p>
<p><strong>2.使用图像法求解：</strong><br />
1) 解出y，以便绘图<br />
<span style="color: #ff0000">&gt; solve(1*x + 1*y &lt;= 4,y);<br />
&gt; solve(4*x + 3*y &lt;= 12,y);<br />
&gt; solve(1*x + 3*y &lt;= 6,y);</span><br />
得：<br />
<img alt="" src="http://www.qingfengju.com/download.asp?id=95" /><br />
<img alt="" src="http://www.qingfengju.com/download.asp?id=96" /><br />
<img alt="" src="http://www.qingfengju.com/download.asp?id=97" /></p>
<p>2) 在同一坐标系中绘出图像<br />
<span style="color: #ff0000">&gt; a:=plot(4-x,color=red);<br />
<span style="color: #ff0000">&gt; </span>b:=plot(4-4*x/3,color=green);<br />
<span style="color: #ff0000">&gt; </span>c:=plot(2-x/3,color=blue);<br />
<span style="color: #ff0000">&gt; </span>with(plots);<br />
<span style="color: #ff0000">&gt; </span>display(a,b,c);</span><br />
得：<br />
<img alt="" src="http://qingfengju.com/download.asp?id=99" /></p>
<p>这三条曲线从上到下依次为：<br />
y=4-4x/3<br />
y=4-x<br />
y=2-x/3</p>
<p>从图中可以看出方程组的解有两部分，分别是：<br />
{x&lt;=2,y&lt;=2-x/3}<br />
{x&gt;2,y&lt;=4-4x/3}<br />
&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.qingfengju.com/article.asp?id=284</link>
			<title><![CDATA[Visual Studio中的C,C++运行时]]></title>
			<author>dgx_lsyd3@163.com(淡月清风)</author>
			<category><![CDATA[Win32/C++]]></category>
			<pubDate>Thu,19 Apr 2012 23:55:05 +0800</pubDate>
			<guid>http://www.qingfengju.com/default.asp?id=284</guid>
		<description><![CDATA[<p>下面这个例子演示了在不同编译选项时，所使用的C,C++运行时：</p>
<p><span style="background-color: #ffcc99"><strong>makefile<br />
</strong></span><strong>---------------------------------------------------<br />
</strong>all:test test_static test_dynamic</p>
<p><span style="color: #339966">#默认:多线程静态链接<br />
</span>test:<br />
&nbsp;cl test.cpp /link user32.lib /out:test.exe<br />
&nbsp;<br />
<span style="color: #339966">#多线程静态链接<br />
#libcmt.lib C运行时静态库<br />
#libcpmt.lib C++运行时静态库<br />
</span>test_static:<br />
&nbsp;cl <span style="background-color: #ffcc00"><span style="color: #ff0000">/MT</span> </span>test.cpp /link /NODEFAULTLIB <span style="color: #ff0000">libcmt.lib libcpmt.lib </span>\<br />
&nbsp;Kernel32.lib user32.lib /out:test_static.exe<br />
&nbsp;<br />
<span style="color: #339966">#多线程动态链接<br />
#msvcrt.lib C运行时导入库,执行期依赖于MSVCR90.dll<br />
#msvcprt.lib C++运行时导入库,执行期依赖于MSVCP90.dll<br />
</span>test_dynamic:<br />
&nbsp;cl <span style="background-color: #ffcc00"><span style="color: #ff0000">/MD </span></span>test.cpp /link /NODEFAULTLIB <span style="color: #ff0000">msvcrt.lib msvcprt.lib </span>\<br />
&nbsp;Kernel32.lib user32.lib /out:test_dynamic.exe</p>
<p>clean:<br />
&nbsp;del test.exe<br />
&nbsp;del test_static.exe<br />
&nbsp;del test_dynamic.exe<br />
&nbsp;del test_dynamic.exe.manifest<br />
&nbsp;del test.obj<br />
&nbsp;<br />
<span style="color: #339966">#备注：<br />
# /NODEFAULTLIB 选项忽略所有编译器默认链接的库。<br />
# 用 dumpbin /DEPENDENTS test.exe 命令查看可执行文件的依赖关系。<br />
# 示例程序使用 Visual Studio 2008 SP1 命令行编译。<br />
</span><br />
<span style="background-color: #ffcc99"><strong>test.cpp<br />
</strong></span><strong>----------------------------------------------------------<br />
</strong>#include &lt;stdio.h&gt;<br />
#include &lt;iostream&gt;<br />
using namespace std;</p>
<p>#include &lt;windows.h&gt;</p>
<p>int main()<br />
{<br />
&nbsp;<span style="color: #339966">//C运行时函数<br />
</span>&nbsp;printf(&quot;Hello Runtime Library.\n&quot;);</p>
<p>&nbsp;#ifdef _MT<br />
&nbsp;&nbsp;<span style="color: #339966">//C++运行时对象<br />
</span>&nbsp;&nbsp;cout&lt;&lt;&quot;/MT:_MT&quot;&lt;&lt;endl;<br />
&nbsp;#endif<br />
&nbsp;<br />
&nbsp;#ifdef _DLL<br />
&nbsp;&nbsp;cout&lt;&lt;&quot;/MD:_MT,_DLL&quot;&lt;&lt;endl;<br />
&nbsp;#endif</p>
<p><span style="color: #339966">&nbsp;//C,C++运行时以外的函数<br />
&nbsp;//MessageBox的导入库是 user32.lib，执行期依赖于 USER32.dll<br />
</span>&nbsp;MessageBox(0,&quot;Hello Windows.&quot;,&quot;test&quot;,0);<br />
&nbsp;<br />
&nbsp;return 0;<br />
}<br />
&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.qingfengju.com/article.asp?id=288</link>
			<title><![CDATA[使用ezKeyboard输入法从PC上输入大段文字到Android设备]]></title>
			<author>dgx_lsyd3@163.com(淡月清风)</author>
			<category><![CDATA[杂谈随感]]></category>
			<pubDate>Sun,18 Mar 2012 14:44:43 +0800</pubDate>
			<guid>http://www.qingfengju.com/default.asp?id=288</guid>
		<description><![CDATA[<p>下载地址：<br />
<a target="_blank" href="http://sites.google.com/site/jakky1/ezkeyboard/ezkeyboard-cn">http://sites.google.com/site/jakky1/ezkeyboard/ezkeyboard-cn</a><br />
<a target="_blank" href="http://www.coolapk.com/apk-2576">http://www.coolapk.com/apk-2576</a></p>
<p>使用方法：<br />
设置 -&gt; 语言和键盘 -&gt; ezKeyboard -&gt; 使用教学</p>
<p>为方便使用，可在PC上创建如下批处理：<br />
----------------------------------------------<br />
adb forward tcp:8080 tcp:8080<br />
start http://localhost:8080<br />
pause</p>]]></description>
		</item>
		
			<item>
			<link>http://www.qingfengju.com/article.asp?id=283</link>
			<title><![CDATA[强大的Win32汇编IDE - Visual Studio]]></title>
			<author>dgx_lsyd3@163.com(淡月清风)</author>
			<category><![CDATA[Win32/C++]]></category>
			<pubDate>Sun,19 Feb 2012 23:58:11 +0800</pubDate>
			<guid>http://www.qingfengju.com/default.asp?id=283</guid>
		<description><![CDATA[<div><span style="font-family: 宋体">互联网上有许多所谓</span>Win32<span style="font-family: 宋体">汇编</span>IDE<span style="font-family: 宋体">，如</span>RadASM<span style="font-family: 宋体">，</span>MasmPlus<span style="font-family: 宋体">，</span>EasyCode<span style="font-family: 宋体">，</span>MASM32<span style="font-family: 宋体">等。不过都不太好用，这里要说的是</span>Visual Studio (<span style="font-family: 宋体">本文中用的版本是</span>Visual Studio 2008<span style="font-family: 宋体">，</span>2003-2010<span style="font-family: 宋体">版是类似的</span>)<span style="font-family: 宋体">。</span></div>
<div>&nbsp;</div>
<div><b>1.</b><b><span style="font-family: 宋体">创建一个</span>Win32</b><b><span style="font-family: 宋体">汇编应用程序项目</span></b></div>
<div>Visual Studio <span style="font-family: 宋体">本身支持</span>Win32<span style="font-family: 宋体">汇编应用程序开发，下面来创建一个</span>Win32<span style="font-family: 宋体">汇编应用程序项目：</span></div>
<div>a)<span style="font-family: 宋体">建立一个</span>Visual C++<span style="font-family: 宋体">空项目</span>(<span style="font-family: 宋体">比如叫做</span><span style="font-size: 10pt; font-family: Consolas">Win32 Assembly Project.vcproj</span>)<span style="font-family: 宋体">；</span></div>
<div>b)<span style="font-family: 宋体">单击&ldquo;项目</span>-&gt;<span style="font-family: 宋体">自定义生成规则</span>(B)&hellip;<span style="font-family: 宋体">&rdquo;；</span></div>
<div>c)<span style="font-family: 宋体">勾选&ldquo;</span>Microsoft Macro Assembly<span style="font-family: 宋体">&rdquo;；</span></div>
<div>d)<span style="font-family: 宋体">新建一个</span>Main.asm<span style="font-family: 宋体">文件并添加到项目中；</span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; color: blue; font-family: Consolas">.386</span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; color: blue; font-family: Consolas">.model</span><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas"> <span style="color: blue">flat</span>,<span style="color: blue">stdcall</span></span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; color: blue; font-family: Consolas">option</span><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas"> <span style="color: blue">casemap</span>:<span style="color: blue">none</span> <span style="color: green">;</span></span><span style="font-size: 10pt; background: #d9d9d9; color: green; font-family: 宋体">大小写敏感</span></div>
<div align="left">&nbsp;</div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; color: green; font-family: Consolas">;</span><span style="font-size: 10pt; background: #d9d9d9; color: green; font-family: 宋体">注意：这里的</span><span style="font-size: 10pt; background: #d9d9d9; color: green; font-family: Consolas">inc,lib</span><span style="font-size: 10pt; background: #d9d9d9; color: green; font-family: 宋体">文件都来自</span><span style="font-size: 10pt; background: #d9d9d9; color: green; font-family: Consolas">Masm32</span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; color: blue; font-family: Consolas">include</span><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">&nbsp;windows.inc</span></div>
<div align="left">&nbsp;<span id="1329734926276S" style="display: none">&nbsp;</span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; color: blue; font-family: Consolas">include</span><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">&nbsp;user32.inc</span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; color: blue; font-family: Consolas">includelib</span><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas"> user32.lib</span></div>
<div align="left">&nbsp;</div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; color: blue; font-family: Consolas">include</span><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">&nbsp;kernel32.inc</span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; color: blue; font-family: Consolas">includelib</span><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas"> kernel32.lib</span></div>
<div align="left">&nbsp;</div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; color: blue; font-family: Consolas">.data</span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">szCaption <span style="color: blue">db</span> <span style="color: teal">'A MessageBox !'</span>,<span style="color: red">0</span></span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">szText&nbsp;<span style="color: blue">db</span> <span style="color: teal">'Hello, World !'</span>,<span style="color: red">0</span></span></div>
<div align="left">&nbsp;</div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; color: blue; font-family: Consolas">.code</span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">main:</span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">&nbsp;<span style="color: #ff8000">invoke</span> MessageBox,NULL,<span style="color: blue">offset</span> szText,<span style="color: blue">offset</span> szCaption,MB_OK</span></div>
<div align="left"><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">&nbsp;<span style="color: #ff8000">invoke</span> ExitProcess,NULL</span></div>
<div><span style="font-size: 10pt; background: #d9d9d9; color: blue; font-family: Consolas">end</span><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas"> main</span></div>
<div>&nbsp;</div>
<div><span style="font-size: 10pt; font-family: Consolas">e)</span><span style="font-size: 10pt; font-family: 宋体">可以在项目属性中的&ldquo;配置属性</span><span style="font-size: 10pt; font-family: Consolas">-&gt;</span> Microsoft Macro Assembly<span style="font-size: 10pt; font-family: 宋体">&rdquo;设置</span><span style="font-size: 10pt; font-family: Consolas">inc</span><span style="font-size: 10pt; font-family: 宋体">文件所在的目录；</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">f)</span><span style="font-size: 10pt; font-family: 宋体">编译调试即可，见下图：<br />
</span><img alt="" src="http://www.qingfengju.com/download.asp?id=84" /></div>
<div>&nbsp;</div>
<div><b>2.</b><b><span style="font-family: 宋体">制作</span>Win32</b><b><span style="font-family: 宋体">汇编应用程序项目模板</span></b></div>
<div><span style="font-size: 10pt; font-family: Consolas">a)</span><span style="font-size: 10pt; font-family: 宋体">将刚才的项目文件</span><span style="font-size: 10pt; font-family: Consolas">Win32 Assembly Project.vcproj</span><span style="font-size: 10pt; font-family: 宋体">复制到</span><span style="font-size: 10pt; font-family: Consolas">D:\Program Files\Microsoft Visual Studio 9.0\VC\VCWizards</span><span style="font-size: 10pt; font-family: 宋体">目录下；</span></div>
<div>&nbsp;</div>
<div><span style="font-size: 10pt; font-family: Consolas">b)</span><span style="font-size: 10pt; font-family: 宋体">按照如下目录结构创建文件</span><span style="font-size: 10pt; font-family: Consolas">:</span></div>
<div><span style="font-size: 10pt; font-family: 宋体">└─</span><span style="font-size: 10pt; font-family: Consolas">Win32 Assembly Project</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp; </span><span style="font-size: 10pt; font-family: 宋体">│</span><span style="font-size: 10pt; font-family: Consolas">&nbsp;Win32 Assembly Project.ico</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp; </span><span style="font-size: 10pt; font-family: 宋体">│</span><span style="font-size: 10pt; font-family: Consolas">&nbsp;Win32 Assembly Project.vsdir</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp; </span><span style="font-size: 10pt; font-family: 宋体">│</span><span style="font-size: 10pt; font-family: Consolas">&nbsp;Win32 Assembly Project.vsz</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp; </span><span style="font-size: 10pt; font-family: 宋体">│</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp; </span><span style="font-size: 10pt; font-family: 宋体">├─</span><span style="font-size: 10pt; font-family: Consolas">Scripts</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp; </span><span style="font-size: 10pt; font-family: 宋体">│</span><span style="font-size: 10pt; font-family: Consolas">&nbsp;</span><span style="font-size: 10pt; font-family: 宋体">└─</span><span style="font-size: 10pt; font-family: Consolas">1033</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp; </span><span style="font-size: 10pt; font-family: 宋体">│</span><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default.js</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp; </span><span style="font-size: 10pt; font-family: 宋体">│</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp; </span><span style="font-size: 10pt; font-family: 宋体">└─</span><span style="font-size: 10pt; font-family: Consolas">Templates</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="font-size: 10pt; font-family: 宋体">└─</span><span style="font-size: 10pt; font-family: Consolas">1033</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Main.asm</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ReadMe.txt</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Templates.inf<br />
<br />
</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">b.1)</span><span style="font-size: 10pt; font-family: 宋体">创建文本文件</span><span style="font-size: 10pt; font-family: Consolas">Win32 Assembly Project.vsz</span></div>
<div><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">VSWIZARD 7.0</span></div>
<div><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">Wizard=VsWizard.VsWizardEngine.9.0</span></div>
<div>&nbsp;</div>
<div><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">Param=&quot;WIZARD_NAME = Win32 Assembly Project&quot;</span></div>
<div><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">Param=&quot;ABSOLUTE_PATH = <span style="color: red">E:\MyDoc\System MyDcouments\Visual Studio 2008</span>\Wizards\Win32 Assembly Project&quot;</span></div>
<div><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">Param=&quot;FALLBACK_LCID = 1033&quot;</span></div>
<div><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">Param=&quot;WIZARD_UI = FALSE&quot;</span></div>
<div>&nbsp;</div>
<div><span style="font-size: 10pt; font-family: 宋体">注意</span><span style="font-size: 10pt; font-family: Consolas">ABSOLUTE_PATH</span><span style="font-size: 10pt; font-family: 宋体">中的</span><span style="font-size: 10pt; color: red; font-family: Consolas">E:\MyDoc\System MyDcouments\Visual Studio 2008</span><span style="font-size: 10pt; font-family: 宋体">这部分是下面这个注册表键值：</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\VisualStudioLocation</span><span style="font-size: 10pt; font-family: 宋体">，其实就是</span><span style="font-size: 10pt; font-family: Consolas">Visual Studio</span><span style="font-size: 10pt; font-family: 宋体">在&ldquo;我的文档&rdquo;中建立的目录。</span></div>
<div>&nbsp;</div>
<div><span style="font-size: 10pt; font-family: Consolas">b.2) </span><span style="font-size: 10pt; font-family: 宋体">创建文本文件</span><span style="font-size: 10pt; font-family: Consolas">Win32 Assembly Project.vsdir</span></div>
<div><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">Win32 Assembly Project.vsz| |Win32 Assembly Project|1|</span><span style="font-size: 10pt; background: #d9d9d9; font-family: 宋体">创建</span><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">Win32 Assembly </span><span style="font-size: 10pt; background: #d9d9d9; font-family: 宋体">应用程序项目</span><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">.| |6777| |ASMProject</span></div>
<div>&nbsp;</div>
<div><span style="font-size: 10pt; font-family: Consolas">b.3)</span><span style="font-size: 10pt; font-family: 宋体">找一个喜欢的图标命名为</span><span style="font-size: 10pt; font-family: Consolas">Win32 Assembly Project.ico</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">b.4)</span><span style="font-size: 10pt; font-family: 宋体">从</span><span style="font-size: 10pt; font-family: Consolas">Visual Studio</span><span style="font-size: 10pt; font-family: 宋体">的其他项目模板文件中找到</span><span style="font-size: 10pt; font-family: Consolas">default.js</span><span style="font-size: 10pt; font-family: 宋体">，并做一些修改</span><span style="font-size: 10pt; font-family: Consolas">(</span><span style="font-size: 10pt; font-family: 宋体">见附件</span><span style="font-size: 10pt; font-family: Consolas">)</span></div>
<div><span style="font-size: 10pt; font-family: Consolas">b.5)</span><span style="font-size: 10pt; font-family: 宋体">在</span><span style="font-size: 10pt; font-family: Consolas">Templates.inf</span><span style="font-size: 10pt; font-family: 宋体">文件中写上要默认添加到项目中的文件</span></div>
<div><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">readme.txt</span></div>
<div><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">Main.asm</span></div>
<div>&nbsp;</div>
<div><span style="font-size: 10pt; font-family: Consolas">c) </span><span style="font-size: 10pt; font-family: 宋体">复制</span><span style="font-size: 10pt; font-family: Consolas">Win32 Assembly Project</span><span style="font-size: 10pt; font-family: 宋体">目录到</span><span style="font-size: 10pt; background: #d9d9d9; color: red; font-family: Consolas">E:\MyDoc\System MyDcouments\Visual Studio 2008</span><span style="font-size: 10pt; background: #d9d9d9; font-family: Consolas">\Wizards\<br />
</span><br />
最终效果如下：<br />
<span style="font-family: 宋体"><img alt="" src="http://www.qingfengju.com/download.asp?id=83" /><br />
<br />
</span><img border="0" alt="" src="http://www.qingfengju.com/download.asp?id=89" /><br />
&nbsp;</div>
<div><b><span style="font-size: 10pt; font-family: Consolas">3.</span></b><b><span style="font-size: 10pt; font-family: 宋体">制作好的</span></b><b><span style="font-size: 10pt; font-family: Consolas">Win32</span></b><b><span style="font-size: 10pt; font-family: 宋体">项目模板下载</span></b></div>
<div><span style="font-size: 10pt; font-family: 宋体"><br />
<span style="font-size: 10pt; font-family: 宋体"><a href="http://www.qingfengju.com/download.asp?id=85"><img alt="" border="0" style="margin: 0px 2px -4px 0px" src="http://www.qingfengju.com/images/download.gif" /></a></span><a href="http://www.qingfengju.com/download.asp?id=85">点击这里下载用于VS2008的Win32汇编项目模板</a>，注意先要修改</span><span style="font-size: 10pt; font-family: Consolas">install.cmd</span><span style="font-size: 10pt; font-family: 宋体">和</span><span style="font-size: 10pt; font-family: Consolas">Win32 Assembly Project.vsz</span><span style="font-size: 10pt; font-family: 宋体">中的路径。</span><br />
<p>&nbsp;<a href="http://www.qingfengju.com/download.asp?id=88"><img alt="" border="0" style="margin: 0px 2px -4px 0px" src="http://www.qingfengju.com/images/download.gif" /><span style="color: #ff0000">推荐：</span>点击这里下载用于VS2005/VS2008的Win32汇编项目模板文件</a>，注意VS2005/VS2008的安装路径(<span style="color: #ff0000">这个模板</span><span style="color: #ff0000">与上文中的制作方法略有不同，具体见附件内容</span>)。<br />
<br />
<strong>4.汇编代码的颜色问题<br />
</strong>对于VS2008，请使用AsmHighlighter插件(<a href="http://asmhighlighter.codeplex.com/">http://asmhighlighter.codeplex.com/</a>)。<br />
<span style="font-family: 宋体"><img alt="" border="0" src="http://www.qingfengju.com/download.asp?id=86" /></span></p>
</div>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.qingfengju.com/article.asp?id=282</link>
			<title><![CDATA[在Windows7中添加GRUB 4 DOS启动菜单]]></title>
			<author>dgx_lsyd3@163.com(淡月清风)</author>
			<category><![CDATA[Win32/C++]]></category>
			<pubDate>Wed,15 Feb 2012 09:10:04 +0800</pubDate>
			<guid>http://www.qingfengju.com/default.asp?id=282</guid>
		<description><![CDATA[<p>1.添加启动菜单<br />
::从grub4dos-0.4.4.zip中解压grldr,grldr.mbr,grub.exe,menu.lst到C盘根目录<br />
::备份原BCD文件<br />
bcdedit /export &quot;Bcd_Backup&quot; &gt;nul</p>
<p>::生成GUID:{5dae1bc5-2c3e-11e1-a2f4-99e56614ac4b},注意需要记录下来以便下面的指令使用<br />
bcdedit /create /d &quot;GRUB 4 DOS&quot; /application bootsector</p>
<p>bcdedit /set {5dae1bc5-2c3e-11e1-a2f4-99e56614ac4b} device partition=C: &gt;nul <br />
bcdedit /set {5dae1bc5-2c3e-11e1-a2f4-99e56614ac4b} path \grldr.mbr &gt;nul<br />
bcdedit /displayorder {5dae1bc5-2c3e-11e1-a2f4-99e56614ac4b} /addlast &gt;nul<br />
bcdedit /timeout 10 &gt;nul</p>
<p>2.删除此启动菜单<br />
bcdedit /delete {5dae1bc5-2c3e-11e1-a2f4-99e56614ac4b} /cleanup &gt;nul</p>]]></description>
		</item>
		
			<item>
			<link>http://www.qingfengju.com/article.asp?id=281</link>
			<title><![CDATA[用Grub中引导Windows]]></title>
			<author>dgx_lsyd3@163.com(淡月清风)</author>
			<category><![CDATA[Linux]]></category>
			<pubDate>Wed,15 Feb 2012 01:20:58 +0800</pubDate>
			<guid>http://www.qingfengju.com/default.asp?id=281</guid>
		<description><![CDATA[<p><span style="color: #009900">#两块硬盘：A硬盘第一分区安装WindowsXP,B硬盘安装Debian6.0.3(GRUB2)<br />
#BIOS中已经设置为从B硬盘启动.</span></p>
<p><span style="color: #009900">#在grub.cfg中添加对Windows的引导<br />
</span>menuentry <span style="color: #008080">'Microsoft Windows XP Professional Edition'</span> {<br />
&nbsp;insmod ntfs<br />
&nbsp;set root=(hd1,1)<br />
&nbsp;drivemap -s (hd0) ${root}<br />
&nbsp;chainloader +1<br />
&nbsp;boot<br />
}</p>]]></description>
		</item>
		
			<item>
			<link>http://www.qingfengju.com/article.asp?id=279</link>
			<title><![CDATA[msys+mingw的基本配置]]></title>
			<author>dgx_lsyd3@163.com(淡月清风)</author>
			<category><![CDATA[Linux]]></category>
			<pubDate>Thu,02 Feb 2012 10:42:38 +0800</pubDate>
			<guid>http://www.qingfengju.com/default.asp?id=279</guid>
		<description><![CDATA[<p>0.本文中的程序安装路径<br />
MinGW：D:\Tools\MinGW<br />
msys：D:\Tools\MinGW\msys\1.0<br />
此时，MSYS的&quot;/&quot;目录对应&quot;D:\Tools\MinGW\msys\1.0&quot;</p>
<p>1.在MSYS中指定MinGW的位置<br />
修改：/etc/fstab<br />
D:\Tools\MinGW\ /mingw</p>
<p>2.MSYS文字彩色<br />
修改：/etc/profile<br />
加上：alias ls='ls --show-control-chars -F --color=tty'</p>
<p>3.中文乱码<br />
修改：/etc/inputrc.default 和 ~/.inputrc<br />
set meta-flag on<br />
set input-meta on<br />
set output-meta on<br />
set convert-meta on</p>]]></description>
		</item>
		
			<item>
			<link>http://www.qingfengju.com/article.asp?id=278</link>
			<title><![CDATA[几个日期相关的Shell脚本]]></title>
			<author>dgx_lsyd3@163.com(淡月清风)</author>
			<category><![CDATA[Linux]]></category>
			<pubDate>Mon,30 Jan 2012 15:36:28 +0800</pubDate>
			<guid>http://www.qingfengju.com/default.asp?id=278</guid>
		<description><![CDATA[<p>#@brief:检查是否为闰年<br />
#@param1:YYYY格式的年份<br />
check_leap()<br />
{<br />
&nbsp;&nbsp;&nbsp; #http://baike.baidu.com/view/29649.htm<br />
&nbsp;&nbsp;&nbsp; #四年一闰,百年不闰,四百年再闰<br />
&nbsp;&nbsp;&nbsp; mod4=$(( 10#$1 % 4 ));<br />
&nbsp;&nbsp;&nbsp; mod100=$(( 10#$1 % 100 ));<br />
&nbsp;&nbsp;&nbsp; mod400=$(( 10#$1 % 400 ));<br />
&nbsp;&nbsp;&nbsp; if [ $mod400 -eq 0 -o $mod100 -ne 0 -a $mod4 -eq 0 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br />
&nbsp;&nbsp;&nbsp; fi;</p>
<p>&nbsp;&nbsp;&nbsp; return 1;<br />
}</p>
<p>#@brief:获取指定月的天数<br />
#@param1:YYYYMM格式的月份<br />
get_days()<br />
{<br />
&nbsp;&nbsp;&nbsp; YYYY=`echo $1 | awk '{print substr($1,1,4)}'`;<br />
&nbsp;&nbsp;&nbsp; MM=`echo $1 | awk '{print substr($1,5,2)}'`;</p>
<p>&nbsp;&nbsp;&nbsp; MM=$(( 10#$MM ));</p>
<p>&nbsp;&nbsp;&nbsp; days=0;<br />
&nbsp;&nbsp;&nbsp; case &quot;$MM&quot; in<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1|3|5|7|8|10|12)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; days=31;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; check_leap $YYYY;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ $? -eq 0 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; days=29;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; days=28;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4|6|9|11)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; days=30;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; days=0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br />
&nbsp;&nbsp;&nbsp; esac;</p>
<p>&nbsp;&nbsp;&nbsp; echo $days;<br />
}</p>
<p>#@brief:Yesterday<br />
#@param1:YYYYMMDD格式的日期<br />
Yesterday()<br />
{<br />
&nbsp;&nbsp;&nbsp; YYYY=`echo $1 | awk '{print substr($1,1,4)}'`;<br />
&nbsp;&nbsp;&nbsp; MM=`echo $1 | awk '{print substr($1,5,2)}'`;<br />
&nbsp;&nbsp;&nbsp; MM=$(( 10#$MM ));</p>
<p>&nbsp;&nbsp;&nbsp; DD=`echo $1 | awk '{print substr($1,7,2)}'`;<br />
&nbsp;&nbsp;&nbsp; DD=$(( 10#$DD-1 ));</p>
<p>&nbsp;&nbsp;&nbsp; if [ $DD -eq 0 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MM=$(( 10#$MM-1 ));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if [ $MM -eq 0 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MM=12;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYY=$(( 10#$YYYY-1 ));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;if [ $MM -lt 10 ] ; then<br />
&nbsp;&nbsp;&nbsp;MM=&quot;0${MM}&quot;;<br />
&nbsp;&nbsp;fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;DD=`get_days ${YYYY}${MM}`;<br />
&nbsp;&nbsp;&nbsp; fi;</p>
<p>&nbsp;MM=$(( 10#$MM ));<br />
&nbsp;&nbsp;&nbsp; if [ $MM -lt 10 ] ; then<br />
&nbsp;&nbsp;MM=&quot;0${MM}&quot;;<br />
&nbsp;&nbsp;&nbsp; fi;</p>
<p>&nbsp;DD=$(( 10#$DD ));<br />
&nbsp;&nbsp;&nbsp; if [ $DD -lt 10 ] ; then<br />
&nbsp;&nbsp;DD=&quot;0${DD}&quot;;<br />
&nbsp;&nbsp;&nbsp; fi;</p>
<p>&nbsp;&nbsp;&nbsp; echo &quot;${YYYY}${MM}${DD}&quot;;<br />
}</p>
<p>#@brief:检查日期是否合法<br />
#@param1:YYYYMMDD格式的日期<br />
check_date()<br />
{<br />
&nbsp;&nbsp;&nbsp; if [ $# -lt 1 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; numberstr=`echo $1 | grep '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'`;<br />
&nbsp;&nbsp;&nbsp; if [ -z &quot;${numberstr}&quot; ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; length=`echo $1 | awk '{print length($1)}'`;<br />
&nbsp;&nbsp;&nbsp; if [ $length -ne 8 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; YYYY=`echo $1 | awk '{print substr($1,1,4)}'`;<br />
&nbsp;&nbsp;&nbsp; MM=`echo $1 | awk '{print substr($1,5,2)}'`;<br />
&nbsp;&nbsp;&nbsp; DD=`echo $1 | awk '{print substr($1,7,2)}'`;<br />
&nbsp;&nbsp;&nbsp; if [ $YYYY -lt 1000 -o $YYYY -gt 9999 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; if [ $MM -lt 1 -o $MM -gt 12 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; days_in_mm=`get_days ${YYYY}${MM}`;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; if [ $DD -lt 1 -o $DD -gt $days_in_mm ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; return 0;<br />
}</p>
<p>#@brief:检查月份是否合法<br />
#@param1:YYYYMM格式的月份<br />
check_month()<br />
{<br />
&nbsp;&nbsp;&nbsp; if [ $# -lt 1 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; numberstr=`echo $1 | grep '[0-9][0-9][0-9][0-9][0-9][0-9]'`;<br />
&nbsp;&nbsp;&nbsp; if [ -z &quot;${numberstr}&quot; ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; length=`echo $1 | awk '{print length($1)}'`;<br />
&nbsp;&nbsp;&nbsp; if [ $length -ne 6 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; YYYY=`echo $1 | awk '{print substr($1,1,4)}'`;<br />
&nbsp;&nbsp;&nbsp; MM=`echo $1 | awk '{print substr($1,5,2)}'`;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; if [ $YYYY -lt 1000 -o $YYYY -gt 9999 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; if [ $MM -lt 1 -o $MM -gt 12 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; return 0;<br />
}</p>
<p>#@brief:LastMonth<br />
#@param1:YYYYMM格式的月份<br />
LastMonth()<br />
{<br />
&nbsp;&nbsp;&nbsp; YYYY=`echo $1 | awk '{print substr($1,1,4)}'`;<br />
&nbsp;&nbsp;&nbsp; MM=`echo $1 | awk '{print substr($1,5,2)}'`;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; MM=$(( 10#$MM ));<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; if [ $MM -eq 1 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MM=12;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; YYYY=$(( 10#$YYYY-1 ));<br />
&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MM=$(( 10#$MM-1 ));<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; if [ $MM -lt 10 ] ; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MM=&quot;0${MM}&quot;;<br />
&nbsp;&nbsp;&nbsp; fi;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; echo &quot;${YYYY}${MM}&quot;;<br />
}<br />
<br />
以上代码在HP-UX和MSYS上测试通过(2012年3月29日)。</p>]]></description>
		</item>
		
</channel>
</rss>

