﻿<?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>C++博客-日日勤作息-随笔分类-嵌入式开发</title><link>http://www.cppblog.com/zealsoft/category/7726.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 22 Jan 2009 22:53:54 GMT</lastBuildDate><pubDate>Thu, 22 Jan 2009 22:53:54 GMT</pubDate><ttl>60</ttl><item><title>统计源程序的工具</title><link>http://www.cppblog.com/zealsoft/archive/2009/01/22/72469.html</link><dc:creator>zealsoft</dc:creator><author>zealsoft</author><pubDate>Thu, 22 Jan 2009 08:30:00 GMT</pubDate><guid>http://www.cppblog.com/zealsoft/archive/2009/01/22/72469.html</guid><wfw:comment>http://www.cppblog.com/zealsoft/comments/72469.html</wfw:comment><comments>http://www.cppblog.com/zealsoft/archive/2009/01/22/72469.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zealsoft/comments/commentRss/72469.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zealsoft/services/trackbacks/72469.html</trackback:ping><description><![CDATA[<p>今天甲方通知要统计一下我们协议栈代码的行数，好久没有关心过这样的问题，上一次统计代码行数好像是好多年前的事情了，也忘记了用的什么工具。最开始想用NLOC，因为需要.NET 2.0，我的机器装不上。为了这个工具安装.NET 2.0有点不划算。又找了一个C++编写的工具Code Counter Tool。这个工具可以支持Visual C++ 6.0的工程。不过我们的工程是VxWorks工程，对于非VC6的工程需要建立一个.map文件，里面包括所有需要统计的文件。这个工作可以在命令行中完成：</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">dir&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">b&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;prj.map</span></div>
<p>其中的/b参数表示只显示文件名，dir的结果会写入prj.map文件，正好可以满足要求。</p>
<p>最后的统计结果表明，我们的协议栈有109个文件（不包括需要的运行库），共161,688行代码，其中空白行13,554，注释行为38,311。这是一个小巧的，但是完整的基站协议栈代码。</p>
<img src ="http://www.cppblog.com/zealsoft/aggbug/72469.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zealsoft/" target="_blank">zealsoft</a> 2009-01-22 16:30 <a href="http://www.cppblog.com/zealsoft/archive/2009/01/22/72469.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>V.42 bis的源程序 </title><link>http://www.cppblog.com/zealsoft/archive/2009/01/21/72438.html</link><dc:creator>zealsoft</dc:creator><author>zealsoft</author><pubDate>Wed, 21 Jan 2009 14:07:00 GMT</pubDate><guid>http://www.cppblog.com/zealsoft/archive/2009/01/21/72438.html</guid><wfw:comment>http://www.cppblog.com/zealsoft/comments/72438.html</wfw:comment><comments>http://www.cppblog.com/zealsoft/archive/2009/01/21/72438.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zealsoft/comments/commentRss/72438.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zealsoft/services/trackbacks/72438.html</trackback:ping><description><![CDATA[因为TETRA标准中分组数据的压缩协议为V.42 bis，让学生在网上找个代码来用。学生找了半天，只找到LZW的代码，没有找到V.42bis，虽然两者差别较少，但是还是不同的，只好自己找。其实找起来很容易，在<a href="http://www.google.com/codesearch" target=_blank><u><font color=#3d6066>Google CodeSearch</font></u></a>上输入v42bis就找到了。找到的是<a href="http://www.soft-switch.org/" target=_blank><u><font color=#3d6066>SpanDSP</font></u></a>这个库中的一个文件，写得很清晰，注释也比较全。SpanDSP是一个专用于电话领域的信号处理库，包括各种语音编码、采用的协议处理等等，象项目中用到的<a href="http://www.soft-switch.org/spandsp-doc/hdlc_page.html" target=_blank><u><font color=#3d6066>HDLC</font></u></a>协议在这里也可以找到。在查找代码方面，Google CodeSearch比直接使用Google方便多了。
<img src ="http://www.cppblog.com/zealsoft/aggbug/72438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zealsoft/" target="_blank">zealsoft</a> 2009-01-21 22:07 <a href="http://www.cppblog.com/zealsoft/archive/2009/01/21/72438.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在VxWorks下为TAU G2的程序设置断点 </title><link>http://www.cppblog.com/zealsoft/archive/2008/10/13/63934.html</link><dc:creator>zealsoft</dc:creator><author>zealsoft</author><pubDate>Mon, 13 Oct 2008 15:18:00 GMT</pubDate><guid>http://www.cppblog.com/zealsoft/archive/2008/10/13/63934.html</guid><wfw:comment>http://www.cppblog.com/zealsoft/comments/63934.html</wfw:comment><comments>http://www.cppblog.com/zealsoft/archive/2008/10/13/63934.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zealsoft/comments/commentRss/63934.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zealsoft/services/trackbacks/63934.html</trackback:ping><description><![CDATA[<p>TAU G2程序本身的仿真功能很强，如果程序在目标机上运行时出现逻辑错误，你总是可以在TAU G2的仿真环境下模拟出这个错误并找到出错的原因，一般不需要借助操作系统的C代码调试工具。但是如果是在TAU G2中调用了C语言的函数，或者在环境函数中出现错误，问题就复杂了，因为TAU G2的仿真环境无法跟踪这些C语言的代码，你只能借助操作系统自身的调试功能了。</p>
<p>TAU G2生成的程序至少是2个线程：一个是主线程，就是main函数所在的线程，象环境函数中的xInitEnv和xInEnv都是在主线程中的，主线程设置断点很容易，只要在启动调试器后，使用Debug菜单中的Toggle Breakpoint(F9)就可以了，因为调试器默认就是把主线程当作当前线程的；另一个线程是UML代码所在的线程，通常你不需要在生成的UML代码中设置断点，但是xOutEnv在这个线程中，而且如果在UML代码中调用了C语言的函数，那么这些C语言的函数也在这个线程中，而在这个线程中如果还是用F9直接设置断点就往往不会成功了，程序往往不会停下来而是继续执行。</p>
<p>要想在xOutEnv或者自己编写的C语言函数中设置断点进行调试，可以使用Debug菜单中的Toggle Global Breakpoint(Shift F9)设置全局断点。设置全局断点后，当UML代码所在的线程执行到断点处，这个线程就会停下来，此时可以使用Debug菜单中的Attach功能，将当前线程由主线程变为UML线程，这样就可以单步跟踪调试了。UML线程在Attach对话框中通常是最后一个线程，默认情况下其名字应该为t1，但是有的时候线程名会显示为乱码。</p>
<img src ="http://www.cppblog.com/zealsoft/aggbug/63934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zealsoft/" target="_blank">zealsoft</a> 2008-10-13 23:18 <a href="http://www.cppblog.com/zealsoft/archive/2008/10/13/63934.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VxWorks程序一下载就停住了 </title><link>http://www.cppblog.com/zealsoft/archive/2008/08/01/57748.html</link><dc:creator>zealsoft</dc:creator><author>zealsoft</author><pubDate>Fri, 01 Aug 2008 05:20:00 GMT</pubDate><guid>http://www.cppblog.com/zealsoft/archive/2008/08/01/57748.html</guid><wfw:comment>http://www.cppblog.com/zealsoft/comments/57748.html</wfw:comment><comments>http://www.cppblog.com/zealsoft/archive/2008/08/01/57748.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/zealsoft/comments/commentRss/57748.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zealsoft/services/trackbacks/57748.html</trackback:ping><description><![CDATA[今天早上遇到个小问题，VxWorks程序一下载就停在0%处不动了，但是没有死机。这是怎么回事？检查了一下Target Server，也成功了，但是显示了一个警告信息，说Memory Cach满了，需要使用-m选项设置Memory Cach的大小。在Configure Target Servers对话框中增加了一下Memory Cache Size的大小，就又可以下载了。<img alt="" src="http://www.cnblogs.com/Emoticons/msn/49_49.gif"><br><br><img height=451 alt="" src="http://images.cnblogs.com/cnblogs_com/zealsoft/memorycache.JPG" width=333 border=0> 
<img src ="http://www.cppblog.com/zealsoft/aggbug/57748.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zealsoft/" target="_blank">zealsoft</a> 2008-08-01 13:20 <a href="http://www.cppblog.com/zealsoft/archive/2008/08/01/57748.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VxWorks下使用双向链表的小例子 </title><link>http://www.cppblog.com/zealsoft/archive/2008/07/31/57633.html</link><dc:creator>zealsoft</dc:creator><author>zealsoft</author><pubDate>Thu, 31 Jul 2008 05:33:00 GMT</pubDate><guid>http://www.cppblog.com/zealsoft/archive/2008/07/31/57633.html</guid><wfw:comment>http://www.cppblog.com/zealsoft/comments/57633.html</wfw:comment><comments>http://www.cppblog.com/zealsoft/archive/2008/07/31/57633.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zealsoft/comments/commentRss/57633.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zealsoft/services/trackbacks/57633.html</trackback:ping><description><![CDATA[<p>最近在指导学生开发VxWorks下的程序，其中要使用双向链表lstLib，由于所参考的VxWorks的书中没有给出例子。写了下面这个简单的例子。</p>
<p>&nbsp;</p>
<div class=cnblogs_code><img id=Code_Closed_Image_133002 style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_133002').style.display='none'; document.getElementById('Code_Open_Image_133002').style.display='inline'; document.getElementById('Code_Open_Text_133002').style.display='inline';" height=16 src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" width=11 align=top><img id=Code_Open_Image_133002 style="DISPLAY: inline" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_133002').style.display='none'; getElementById('Code_Closed_Image_133002').style.display='inline'; getElementById('Code_Closed_Text_133002').style.display='inline';" height=16 src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" width=11 align=top><span class=cnblogs_code_Collapse id=Code_Closed_Text_133002 style="DISPLAY: none">Code</span><span id=Code_Open_Text_133002 style="DISPLAY: inline"><br><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdlib.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">lstLib.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>typedef&nbsp;</span><span style="COLOR: #0000ff">struct</span><span style="COLOR: #000000">&nbsp;_Queue<br><img id=Codehighlighter1_82_141_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_82_141_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_82_141_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_82_141_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_82_141_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_82_141_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_82_141_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_82_141_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_82_141_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_82_141_Open_Text><span style="COLOR: #000000">{<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;NODE&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;next;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;NODE&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;prev;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;age;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;name[</span><span style="COLOR: #800080">255</span><span style="COLOR: #000000">];<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;QUEUE;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>LIST&nbsp;list;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;TestList()<br><img id=Codehighlighter1_178_555_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_178_555_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_178_555_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_178_555_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_178_555_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_178_555_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_178_555_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_178_555_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_178_555_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_178_555_Open_Text><span style="COLOR: #000000">{<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;QUEUE&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">p;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;lstLibInit();<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;lstInit(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">list);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">10</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_258_392_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_258_392_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_258_392_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_258_392_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_258_392_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_258_392_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_258_392_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_258_392_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_258_392_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_258_392_Open_Text><span style="COLOR: #000000">{<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;malloc(</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(QUEUE));<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p)&nbsp;<br><img id=Codehighlighter1_300_389_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_300_389_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_300_389_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_300_389_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_300_389_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_300_389_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_300_389_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_300_389_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_300_389_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_300_389_Open_Text><span style="COLOR: #000000">{<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">age&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">5</span><span style="COLOR: #000000">;<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(p</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">name,&nbsp;</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">person&nbsp;%d</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">,&nbsp;i);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lstAdd(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">list,&nbsp;(NODE</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)p);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">0</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #800080">10</span><span style="COLOR: #000000">;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_420_535_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_420_535_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_420_535_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_420_535_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_420_535_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_420_535_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_420_535_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_420_535_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_420_535_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_420_535_Open_Text><span style="COLOR: #000000">{<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(QUEUE</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)lstGet(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">list);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(p)<br><img id=Codehighlighter1_461_532_Open_Image onclick="this.style.display='none'; document.getElementById('Codehighlighter1_461_532_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_461_532_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_461_532_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_461_532_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_461_532_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_461_532_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_461_532_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_461_532_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif"></span><span id=Codehighlighter1_461_532_Open_Text><span style="COLOR: #000000">{<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">name&nbsp;=&nbsp;%s,&nbsp;age&nbsp;=&nbsp;%d\n</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">,&nbsp;p</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">name,&nbsp;p</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">age);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(p);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;lstFree(</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">list);<br><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span></span></div>
<img src ="http://www.cppblog.com/zealsoft/aggbug/57633.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zealsoft/" target="_blank">zealsoft</a> 2008-07-31 13:33 <a href="http://www.cppblog.com/zealsoft/archive/2008/07/31/57633.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>