﻿<?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/noswimfish/</link><description>Google,baidu,等等...不鸟他们！！！
我要用自己开发的分布式文件系统、分布式调度系统、分布式检索系统，做自己的搜索引擎！！！大鱼有大志！！！
                     ---杨书童</description><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 09:40:25 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 09:40:25 GMT</pubDate><ttl>60</ttl><item><title>ORACLE error : Fatal NI connect error 12170</title><link>http://www.cppblog.com/noswimfish/archive/2012/03/21/168465.html</link><dc:creator>杨书童</dc:creator><author>杨书童</author><pubDate>Wed, 21 Mar 2012 01:18:00 GMT</pubDate><guid>http://www.cppblog.com/noswimfish/archive/2012/03/21/168465.html</guid><wfw:comment>http://www.cppblog.com/noswimfish/comments/168465.html</wfw:comment><comments>http://www.cppblog.com/noswimfish/archive/2012/03/21/168465.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/noswimfish/comments/commentRss/168465.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/noswimfish/services/trackbacks/168465.html</trackback:ping><description><![CDATA[<div><p>Fatal NI <a target="_self"><u><strong>connect</strong></u></a> <a target="_self"><u><strong>error</strong></u></a> <a target="_self"><u><strong>12170</strong></u></a>.<br /><br />VERSION INFORMATION:<br />TNS for Linux: Version 10.2.0.1.0 - Production<br />Oracle Bequeath NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production<br />TCP/IP NT Protocol Adapter for Linux: Version 10.2.0.1.0 - Production<br />Time: 29-NOV-2006 19:13:40<br />Tracing not turned on.<br />Tns error struct:<br />ns main err code: 12535<br />TNS-12535: TNS:operation timed out<br />ns secondary err code: 12560<br />nt main err code: 505<br />TNS-00505: Operation timed out<br />nt secondary err code: 110<br />nt OS err code: 0<br />Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=219.239.13.3)(PORT=19948))<br /><br /><br /># oerr tns 12170<br />12170, 00000, "TNS:Connect timeout occurred"<br />// *Cause: The <a target="_self"><u><strong>server</strong></u></a> shut down because connection establishment or<br />// communication with a client failed to complete within the allotted time<br />// interval. This may be a result of network or system delays; or this may<br />// indicate that a malicious client is trying to cause a Denial of Service<br />// attack on the server.<br />// *Action: If the error occurred because of a slow network or system,<br />// reconfigure one or all of the parameters SQLNET.INBOUND_CONNECT_TIMEOUT,<br />// SQLNET.SEND_TIMEOUT, SQLNET.RECV_TIMEOUT in sqlnet.ora to larger values.<br />// If a malicious client is suspected, use the address in sqlnet.log to<br />// identify the source and restrict access. Note that logged addresses may<br />// not be reliable as they can be forged (e.g. in TCP/IP).<br /><br /><strong>于是增大 sqlnet.ora 中的参数：<br />SQLNET.INBOUND_CONNECT_TIMEOUT = 30<br />SQLNET.RECV_TIMEOUT = 30<br />SQLNET.SEND_TIMEOUT = 30<br /><br />在 listener.ora 增加：<br />INBOUND_CONNECT_TIMEOUT_LISTENER = 30<br /><br />重启监听器：<br />lsnrctl reload</strong></p></div><img src ="http://www.cppblog.com/noswimfish/aggbug/168465.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/noswimfish/" target="_blank">杨书童</a> 2012-03-21 09:18 <a href="http://www.cppblog.com/noswimfish/archive/2012/03/21/168465.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用C++来实现UrlEncode</title><link>http://www.cppblog.com/noswimfish/archive/2011/03/08/141325.html</link><dc:creator>杨书童</dc:creator><author>杨书童</author><pubDate>Tue, 08 Mar 2011 02:18:00 GMT</pubDate><guid>http://www.cppblog.com/noswimfish/archive/2011/03/08/141325.html</guid><wfw:comment>http://www.cppblog.com/noswimfish/comments/141325.html</wfw:comment><comments>http://www.cppblog.com/noswimfish/archive/2011/03/08/141325.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/noswimfish/comments/commentRss/141325.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/noswimfish/services/trackbacks/141325.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="BORDER-BOTTOM: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; PADDING-BOTTOM: 4px; BACKGROUND-COLOR: #eeeeee; PADDING-LEFT: 4px; WIDTH: 98%; PADDING-RIGHT: 5px; FONT-SIZE: 13px; WORD-BREAK: break-all; BORDER-TOP: #cccccc 1px solid; BORDER-RIGHT: #cccccc 1px solid; PADDING-TOP: 4px"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000">#ifndef&nbsp;__H_CURL_ENCODE_H__<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;__H_CURL_ENCODE_H__</span><span style="COLOR: #000000"><br><img id=Codehighlighter1_56_201_Open_Image onclick="this.style.display='none'; Codehighlighter1_56_201_Open_Text.style.display='none'; Codehighlighter1_56_201_Closed_Image.style.display='inline'; Codehighlighter1_56_201_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_56_201_Closed_Image onclick="this.style.display='none'; Codehighlighter1_56_201_Closed_Text.style.display='none'; Codehighlighter1_56_201_Open_Image.style.display='inline'; Codehighlighter1_56_201_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_56_201_Closed_Text>/**/</span><span id=Codehighlighter1_56_201_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;URLEncode是这样编码的&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;1。数字和字母不变。<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;2。空格变为"+"号。<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;3。其他被编码成"%"加上他们的ascii的十六进制，规律是这样的&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;比如&#8220;啊&#8221;字&nbsp;Ascii的十六进制是B0A1——&gt;%B0%A1(Note:它是每个字节前加个%)。<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">&nbsp;</span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">iostream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">fstream</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">ctype.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">#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 align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;std;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif">&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">namespace</span><span style="COLOR: #000000">&nbsp;ctool<br><img id=Codehighlighter1_342_1196_Open_Image onclick="this.style.display='none'; Codehighlighter1_342_1196_Open_Text.style.display='none'; Codehighlighter1_342_1196_Closed_Image.style.display='inline'; Codehighlighter1_342_1196_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_342_1196_Closed_Image onclick="this.style.display='none'; Codehighlighter1_342_1196_Closed_Text.style.display='none'; Codehighlighter1_342_1196_Open_Image.style.display='inline'; Codehighlighter1_342_1196_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif"></span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_342_1196_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_342_1196_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;typedef&nbsp;unsigned&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;BYTE;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;inline&nbsp;BYTE&nbsp;toHex(</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;BYTE&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">x)<br><img id=Codehighlighter1_424_470_Open_Image onclick="this.style.display='none'; Codehighlighter1_424_470_Open_Text.style.display='none'; Codehighlighter1_424_470_Closed_Image.style.display='inline'; Codehighlighter1_424_470_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_424_470_Closed_Image onclick="this.style.display='none'; Codehighlighter1_424_470_Closed_Text.style.display='none'; Codehighlighter1_424_470_Open_Image.style.display='inline'; Codehighlighter1_424_470_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_424_470_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_424_470_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;x&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">9</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;x&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">55</span><span style="COLOR: #000000">:&nbsp;x&nbsp;</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">48</span><span style="COLOR: #000000">;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;inline&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;URLEncode(</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">sIn)<br><img id=Codehighlighter1_525_1193_Open_Image onclick="this.style.display='none'; Codehighlighter1_525_1193_Open_Text.style.display='none'; Codehighlighter1_525_1193_Closed_Image.style.display='inline'; Codehighlighter1_525_1193_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_525_1193_Closed_Image onclick="this.style.display='none'; Codehighlighter1_525_1193_Closed_Text.style.display='none'; Codehighlighter1_525_1193_Open_Image.style.display='inline'; Codehighlighter1_525_1193_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_525_1193_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_525_1193_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;cout&nbsp;&lt;&lt;&nbsp;"size:&nbsp;"&nbsp;&lt;&lt;&nbsp;sIn.size()&nbsp;&lt;&lt;&nbsp;endl;</span><span style="COLOR: #008000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">string</span><span style="COLOR: #000000">&nbsp;sOut;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(&nbsp;size_t&nbsp;ix&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;ix&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;sIn.size();&nbsp;ix</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">&nbsp;)<br><img id=Codehighlighter1_655_1166_Open_Image onclick="this.style.display='none'; Codehighlighter1_655_1166_Open_Text.style.display='none'; Codehighlighter1_655_1166_Closed_Image.style.display='inline'; Codehighlighter1_655_1166_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_655_1166_Closed_Image onclick="this.style.display='none'; Codehighlighter1_655_1166_Closed_Text.style.display='none'; Codehighlighter1_655_1166_Open_Image.style.display='inline'; Codehighlighter1_655_1166_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_655_1166_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_655_1166_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BYTE&nbsp;buf[</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">];&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(&nbsp;buf,&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">,&nbsp;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">&nbsp;);&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;isalnum(&nbsp;(BYTE)sIn[ix]&nbsp;)&nbsp;)<br><img id=Codehighlighter1_779_834_Open_Image onclick="this.style.display='none'; Codehighlighter1_779_834_Open_Text.style.display='none'; Codehighlighter1_779_834_Closed_Image.style.display='inline'; Codehighlighter1_779_834_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_779_834_Closed_Image onclick="this.style.display='none'; Codehighlighter1_779_834_Closed_Text.style.display='none'; Codehighlighter1_779_834_Open_Image.style.display='inline'; Codehighlighter1_779_834_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_779_834_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_779_834_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;sIn[ix];<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(&nbsp;isspace(&nbsp;(BYTE)sIn[ix]&nbsp;)&nbsp;)<br><img id=Codehighlighter1_897_941_Open_Image onclick="this.style.display='none'; Codehighlighter1_897_941_Open_Text.style.display='none'; Codehighlighter1_897_941_Closed_Image.style.display='inline'; Codehighlighter1_897_941_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_897_941_Closed_Image onclick="this.style.display='none'; Codehighlighter1_897_941_Closed_Text.style.display='none'; Codehighlighter1_897_941_Open_Image.style.display='inline'; Codehighlighter1_897_941_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_897_941_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_897_941_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img id=Codehighlighter1_972_1123_Open_Image onclick="this.style.display='none'; Codehighlighter1_972_1123_Open_Text.style.display='none'; Codehighlighter1_972_1123_Closed_Image.style.display='inline'; Codehighlighter1_972_1123_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_972_1123_Closed_Image onclick="this.style.display='none'; Codehighlighter1_972_1123_Closed_Text.style.display='none'; Codehighlighter1_972_1123_Open_Image.style.display='inline'; Codehighlighter1_972_1123_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="BORDER-BOTTOM: #808080 1px solid; BORDER-LEFT: #808080 1px solid; BACKGROUND-COLOR: #ffffff; DISPLAY: none; BORDER-TOP: #808080 1px solid; BORDER-RIGHT: #808080 1px solid" id=Codehighlighter1_972_1123_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_972_1123_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;toHex(&nbsp;(BYTE)sIn[ix]&nbsp;</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">&nbsp;);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf[</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;toHex(&nbsp;(BYTE)sIn[ix]&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sOut&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;(</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">)buf;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;sOut;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span></div>
<img src ="http://www.cppblog.com/noswimfish/aggbug/141325.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/noswimfish/" target="_blank">杨书童</a> 2011-03-08 10:18 <a href="http://www.cppblog.com/noswimfish/archive/2011/03/08/141325.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux C/C++下编译静态库、共享库 </title><link>http://www.cppblog.com/noswimfish/archive/2010/12/10/136025.html</link><dc:creator>杨书童</dc:creator><author>杨书童</author><pubDate>Fri, 10 Dec 2010 00:44:00 GMT</pubDate><guid>http://www.cppblog.com/noswimfish/archive/2010/12/10/136025.html</guid><wfw:comment>http://www.cppblog.com/noswimfish/comments/136025.html</wfw:comment><comments>http://www.cppblog.com/noswimfish/archive/2010/12/10/136025.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/noswimfish/comments/commentRss/136025.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/noswimfish/services/trackbacks/136025.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: linux C/C++下编译静态库、共享库 &nbsp;&nbsp;<a href='http://www.cppblog.com/noswimfish/archive/2010/12/10/136025.html'>阅读全文</a><img src ="http://www.cppblog.com/noswimfish/aggbug/136025.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/noswimfish/" target="_blank">杨书童</a> 2010-12-10 08:44 <a href="http://www.cppblog.com/noswimfish/archive/2010/12/10/136025.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下JNI接口生成以及调用举例，完成Java通过JNI调用C生成的DLL库</title><link>http://www.cppblog.com/noswimfish/archive/2010/12/08/135819.html</link><dc:creator>杨书童</dc:creator><author>杨书童</author><pubDate>Wed, 08 Dec 2010 09:17:00 GMT</pubDate><guid>http://www.cppblog.com/noswimfish/archive/2010/12/08/135819.html</guid><wfw:comment>http://www.cppblog.com/noswimfish/comments/135819.html</wfw:comment><comments>http://www.cppblog.com/noswimfish/archive/2010/12/08/135819.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/noswimfish/comments/commentRss/135819.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/noswimfish/services/trackbacks/135819.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Linux下JNI接口生成以及调用举例，完成Java通过JNI调用C生成的DLL库&nbsp;&nbsp;<a href='http://www.cppblog.com/noswimfish/archive/2010/12/08/135819.html'>阅读全文</a><img src ="http://www.cppblog.com/noswimfish/aggbug/135819.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/noswimfish/" target="_blank">杨书童</a> 2010-12-08 17:17 <a href="http://www.cppblog.com/noswimfish/archive/2010/12/08/135819.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下安装JDK，编译JNI程序</title><link>http://www.cppblog.com/noswimfish/archive/2010/12/07/135662.html</link><dc:creator>杨书童</dc:creator><author>杨书童</author><pubDate>Tue, 07 Dec 2010 02:42:00 GMT</pubDate><guid>http://www.cppblog.com/noswimfish/archive/2010/12/07/135662.html</guid><wfw:comment>http://www.cppblog.com/noswimfish/comments/135662.html</wfw:comment><comments>http://www.cppblog.com/noswimfish/archive/2010/12/07/135662.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/noswimfish/comments/commentRss/135662.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/noswimfish/services/trackbacks/135662.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Linux下安装JDK，编译JNI程序&nbsp;&nbsp;<a href='http://www.cppblog.com/noswimfish/archive/2010/12/07/135662.html'>阅读全文</a><img src ="http://www.cppblog.com/noswimfish/aggbug/135662.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/noswimfish/" target="_blank">杨书童</a> 2010-12-07 10:42 <a href="http://www.cppblog.com/noswimfish/archive/2010/12/07/135662.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浅谈JNI的使用--java调用dll</title><link>http://www.cppblog.com/noswimfish/archive/2010/12/07/135647.html</link><dc:creator>杨书童</dc:creator><author>杨书童</author><pubDate>Tue, 07 Dec 2010 00:40:00 GMT</pubDate><guid>http://www.cppblog.com/noswimfish/archive/2010/12/07/135647.html</guid><wfw:comment>http://www.cppblog.com/noswimfish/comments/135647.html</wfw:comment><comments>http://www.cppblog.com/noswimfish/archive/2010/12/07/135647.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/noswimfish/comments/commentRss/135647.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/noswimfish/services/trackbacks/135647.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 浅谈JNI的使用--java调用dll&nbsp;&nbsp;<a href='http://www.cppblog.com/noswimfish/archive/2010/12/07/135647.html'>阅读全文</a><img src ="http://www.cppblog.com/noswimfish/aggbug/135647.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/noswimfish/" target="_blank">杨书童</a> 2010-12-07 08:40 <a href="http://www.cppblog.com/noswimfish/archive/2010/12/07/135647.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在linux下创建一个简单的JNI程序HelloWorld</title><link>http://www.cppblog.com/noswimfish/archive/2010/12/07/135646.html</link><dc:creator>杨书童</dc:creator><author>杨书童</author><pubDate>Tue, 07 Dec 2010 00:39:00 GMT</pubDate><guid>http://www.cppblog.com/noswimfish/archive/2010/12/07/135646.html</guid><wfw:comment>http://www.cppblog.com/noswimfish/comments/135646.html</wfw:comment><comments>http://www.cppblog.com/noswimfish/archive/2010/12/07/135646.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/noswimfish/comments/commentRss/135646.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/noswimfish/services/trackbacks/135646.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 如何在linux下创建一个简单的JNI程序HelloWorld&nbsp;&nbsp;<a href='http://www.cppblog.com/noswimfish/archive/2010/12/07/135646.html'>阅读全文</a><img src ="http://www.cppblog.com/noswimfish/aggbug/135646.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/noswimfish/" target="_blank">杨书童</a> 2010-12-07 08:39 <a href="http://www.cppblog.com/noswimfish/archive/2010/12/07/135646.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux和windows下用setsockopt设置send(), recv() 超时的参数的一点区别</title><link>http://www.cppblog.com/noswimfish/archive/2010/09/14/126602.html</link><dc:creator>杨书童</dc:creator><author>杨书童</author><pubDate>Tue, 14 Sep 2010 08:38:00 GMT</pubDate><guid>http://www.cppblog.com/noswimfish/archive/2010/09/14/126602.html</guid><wfw:comment>http://www.cppblog.com/noswimfish/comments/126602.html</wfw:comment><comments>http://www.cppblog.com/noswimfish/archive/2010/09/14/126602.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/noswimfish/comments/commentRss/126602.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/noswimfish/services/trackbacks/126602.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: linux和windows下用setsockopt设置send(), recv() 超时的参数的一点区别&nbsp;&nbsp;<a href='http://www.cppblog.com/noswimfish/archive/2010/09/14/126602.html'>阅读全文</a><img src ="http://www.cppblog.com/noswimfish/aggbug/126602.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/noswimfish/" target="_blank">杨书童</a> 2010-09-14 16:38 <a href="http://www.cppblog.com/noswimfish/archive/2010/09/14/126602.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用gSOAP开发Web Service程序</title><link>http://www.cppblog.com/noswimfish/archive/2010/09/07/126074.html</link><dc:creator>杨书童</dc:creator><author>杨书童</author><pubDate>Tue, 07 Sep 2010 02:18:00 GMT</pubDate><guid>http://www.cppblog.com/noswimfish/archive/2010/09/07/126074.html</guid><wfw:comment>http://www.cppblog.com/noswimfish/comments/126074.html</wfw:comment><comments>http://www.cppblog.com/noswimfish/archive/2010/09/07/126074.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/noswimfish/comments/commentRss/126074.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/noswimfish/services/trackbacks/126074.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: gSOAP是一个绑定SOAP/XML到C/C++语言的工具，使用它可以简单快速地开发出SOAP/XML的服务器端和客户端。由于gSOAP具有相当不错的兼容性，通过gSOAP，我们就可以调用由Java, .Net, Delhpi, PHP等语言开发的SOAP服务，或者向它们提供SOAP服务&nbsp;&nbsp;<a href='http://www.cppblog.com/noswimfish/archive/2010/09/07/126074.html'>阅读全文</a><img src ="http://www.cppblog.com/noswimfish/aggbug/126074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/noswimfish/" target="_blank">杨书童</a> 2010-09-07 10:18 <a href="http://www.cppblog.com/noswimfish/archive/2010/09/07/126074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux 下标准C/C++程序通过gSOAP调用WebService</title><link>http://www.cppblog.com/noswimfish/archive/2010/09/06/126026.html</link><dc:creator>杨书童</dc:creator><author>杨书童</author><pubDate>Mon, 06 Sep 2010 08:53:00 GMT</pubDate><guid>http://www.cppblog.com/noswimfish/archive/2010/09/06/126026.html</guid><wfw:comment>http://www.cppblog.com/noswimfish/comments/126026.html</wfw:comment><comments>http://www.cppblog.com/noswimfish/archive/2010/09/06/126026.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/noswimfish/comments/commentRss/126026.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/noswimfish/services/trackbacks/126026.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: linux 下 标准C/C++程序通过gSOAP调用WebService&nbsp;&nbsp;<a href='http://www.cppblog.com/noswimfish/archive/2010/09/06/126026.html'>阅读全文</a><img src ="http://www.cppblog.com/noswimfish/aggbug/126026.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/noswimfish/" target="_blank">杨书童</a> 2010-09-06 16:53 <a href="http://www.cppblog.com/noswimfish/archive/2010/09/06/126026.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>