﻿<?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/amyvmiwei/</link><description>  不积跬步无以至千里，不积小流无以成江海
 不要让犹豫占太多时间</description><language>zh-cn</language><lastBuildDate>Wed, 08 Apr 2026 13:33:40 GMT</lastBuildDate><pubDate>Wed, 08 Apr 2026 13:33:40 GMT</pubDate><ttl>60</ttl><item><title>Bugs</title><link>http://www.cppblog.com/amyvmiwei/archive/2013/06/08/bugs.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Sat, 08 Jun 2013 05:11:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2013/06/08/bugs.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/200866.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2013/06/08/bugs.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/200866.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/200866.html</trackback:ping><description><![CDATA[<div>一：CLANG:error :linker command failed with exit code 1 (use -v to see invocation)<br />用XCODE来编译COCOS2D-X的项目，发现编译的时候出先问题提示CLANG:error :linker command failed with exit code 1 (use -v to see invocation),上个版本编译成功，所以针对这个问题就很容易排除了，查看更新了什么，进行分析。发现就是添加了几个文件，没有什么大的问题，开始网上找怎么use -v to see, 发现没有相关的， 看到网上也有几个人提出这个问题，但是都是方方面面的，不是我这类型的。<br />1. 有人解决的是，在工作左边导航栏Target--&gt;Build Phases--&gt;compile Sources中，第三库库的所有.m文件都添加到里面，然后编译通过了。也就是少文件的情况。<br />2. 有人解决的是，说明有无法准确找到的函数，函数有重复现象。造成这个错误的原因是我直接在 .h头文件中实现了几个函数，然后这个头文件又被别的.c文件所引用，有实现的。所以解决办法是把实现的几个函数单出一个.c文件里去。这样就ok了。<br />3. 有人解决的是，在main函数的头，既import了.h文件又import了.m文件， 包含了.m文件的情况.<br />4. 还有人遇到使用的库版，不支持当前的ios6,iphon5版本的问题。<br /><br />基本上都不是我的问题，有3的思路，我想是不是我重复加了某个文件，因为更新的时候发现自己添加了几个新文件，还有个几个老文件也添加了进了xcode项目，当时就怀疑怎么老文件不在呢。。。删除，问题解决。。。也就是包含了2个同样的文件，或者叫工程中再同一namespace下有相同类、函数。<br />5. 我遇到的问题解决。 重复添加了某个.h,.cpp文件。</div><img src ="http://www.cppblog.com/amyvmiwei/aggbug/200866.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2013-06-08 13:11 <a href="http://www.cppblog.com/amyvmiwei/archive/2013/06/08/bugs.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>LNK2019(1)</title><link>http://www.cppblog.com/amyvmiwei/archive/2011/11/07/159775.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Mon, 07 Nov 2011 11:31:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2011/11/07/159775.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/159775.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2011/11/07/159775.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/159775.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/159775.html</trackback:ping><description><![CDATA[<div><div>error LNK2019: 无法解析的外部符号 __malloc_dbg<br /><br />_DEBUG ; NDEBUG</div></div><img src ="http://www.cppblog.com/amyvmiwei/aggbug/159775.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2011-11-07 19:31 <a href="http://www.cppblog.com/amyvmiwei/archive/2011/11/07/159775.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VC 此项目已过期...</title><link>http://www.cppblog.com/amyvmiwei/archive/2011/03/29/142958.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Tue, 29 Mar 2011 09:43:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2011/03/29/142958.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/142958.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2011/03/29/142958.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/142958.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/142958.html</trackback:ping><description><![CDATA[1.和系统时间有关系。 <br>2.生成与调试路径。<br>3.找下面和XXX.sln同目录的XXX.ncb文件，删除它；&nbsp; <br><br><img src ="http://www.cppblog.com/amyvmiwei/aggbug/142958.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2011-03-29 17:43 <a href="http://www.cppblog.com/amyvmiwei/archive/2011/03/29/142958.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>boost 1_46 vs2008编译</title><link>http://www.cppblog.com/amyvmiwei/archive/2011/03/23/142569.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Wed, 23 Mar 2011 05:42:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2011/03/23/142569.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/142569.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2011/03/23/142569.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/142569.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/142569.html</trackback:ping><description><![CDATA[http://stackoverflow.com/questions/2629421/how-to-use-boost-in-visual-studio-2010<br><br><br>
<ol>
    <li>Unarchive the latest version of boost (1.46.0 as of writing) into a directory of your choice (e.g. <code>C:\boost_1_46_0</code>).</li>
    <li>Start the Visual Studio Command Prompt for the platform of your choice and navigate to where boost is.</li>
    <li>Run: <code>bootstrap.bat</code> to build bjam.</li>
    <li>Run bjam: (Win32) <code>bjam --toolset=msvc-9.0 --build-type=complete stage</code> <br></li>
    <li>Go through steps 2 - 6 from the set of instruction above to set the environment variables.</li>
    <li>Edit the <code>Library Directories</code> section to include the path to your boost libraries output. (The default for the example and instructions above would be <code>C:\boost_1_46_0\stage\lib</code>. Rename and move the directory first if you want to have x86 &amp; x64 side by side (such as to <code>&lt;BOOST_PATH&gt;\lib\x86</code> &amp; <code>&lt;BOOST_PATH&gt;\lib\x64</code>).</li>
    <li>Repeat steps 2 - 6 for different platform of your choice if needed.</li>
</ol>
<br><img src ="http://www.cppblog.com/amyvmiwei/aggbug/142569.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2011-03-23 13:42 <a href="http://www.cppblog.com/amyvmiwei/archive/2011/03/23/142569.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Memory Barriers的一些小结(转)</title><link>http://www.cppblog.com/amyvmiwei/archive/2011/03/22/142451.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Tue, 22 Mar 2011 02:02:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2011/03/22/142451.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/142451.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2011/03/22/142451.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/142451.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/142451.html</trackback:ping><description><![CDATA[<p>（http://blog.liuw.name/669）<br></p>
<p>五一期间看了一篇文章，Memory Barriers: a Hardware View for Software Hackers，对于Memory Barriers得到了更加深入的理解。</p>
<p>Cache本身的更新是遵守MESI（Modified，Exclusive，Shared，Invalid）协议的。CPU之间的Cache信息更新通过消息传递来完成。</p>
<p>但是现在CPU的设计中，在Cache之外加入了Store Buffer和Invalidate Queue。Store
Buffer的加入，使得CPU对某内存单元的更新不能马上反映到Cache中；Invalidate
Queue的存在，使得其他CPU对Cache的invalidate操作不能马上反映到Cache中。Store Buffer和Invalidate
Queue提高了性能，但是也就导致了Cache的不一致。</p>
<p>因此需要引入Memory Barriers。Store Buffer和Invalidate Queue应该分别对应使用wmb和rmb。当然直接使用通用mb也是可以的。</p>
<blockquote>
<p>
Roughly speaking, a &#8220;rmb&#8221; marks only the invalidate queue and a &#8220;wmb&#8221; marks only the store buffer, while a &#8220;mb&#8221; does both.
</p>
</blockquote>
<p>一般来说，Memory Barriers应该配对使用，比如说一方使用了rmb另外一方对应使用wmb。在Linux内核中，还存在着Data
Dependence Memory
Barrier，这是一个较弱的rmb。具体见Linux内核代码的Documentation/memory-barriers.txt。</p><img src ="http://www.cppblog.com/amyvmiwei/aggbug/142451.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2011-03-22 10:02 <a href="http://www.cppblog.com/amyvmiwei/archive/2011/03/22/142451.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]Flex Socket 与 C++ 通讯 --- 安全沙箱问题解决</title><link>http://www.cppblog.com/amyvmiwei/archive/2011/03/16/141942.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Wed, 16 Mar 2011 02:22:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2011/03/16/141942.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/141942.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2011/03/16/141942.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/141942.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/141942.html</trackback:ping><description><![CDATA[<div class=tit>Flex Socket 与 C++ 通讯 --- 安全沙箱问题解决</div>
<div id=blog_text class=cnt>
<p>最近一个项目的客户端要改成Flex，使用Socket与C++通讯时遇到了安全沙箱问题，这是我的解决方法；</p>
<p>1):策略文件与主套接字在同一端口，只需调用 Socket.connect() 或 XMLSocket.connect() 方法；</p>
<p>2):策略文件与主套接字在不同端口，需使用特殊的&#8220;xmlsocket&#8221;语法调用 Security.loadPolicyFile() 方法，如下所示：</p>
<p>Security.loadPolicyFile("xmlsocket://server.com:2525");</p>
<p>先调用 Security.loadPolicyFile() 方法，然后再调用 Socket.connect() 或 XMLSocket.connect() 方法。</p>
<p>测试代码：使用同一端口</p>
<p>view plaincopy to clipboardprint?<br>#include &lt;winsock2.h&gt;&nbsp;&nbsp; <br>#include &lt;windows.h&gt;&nbsp;&nbsp; <br>#include &lt;iostream&gt;&nbsp;&nbsp; <br>using namespace std;&nbsp;&nbsp; <br>#pragma comment(lib,"ws2_32.lib")&nbsp;&nbsp; <br><br>void main()&nbsp;&nbsp; <br>{&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; WORD wVersionRequested;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; WSADATA wsaData;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; int err;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; short port=1800;//端口号&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; wVersionRequested = MAKEWORD( 1, 1 );&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; err = WSAStartup( wVersionRequested, &amp;wsaData );//初始化套接字&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; if ( err != 0 )&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 )&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WSACleanup( );&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);//创建套接字&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; SOCKET sockConn;//用来和客户端通信的套接字&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; SOCKADDR_IN addrSrv;//用来和客户端通信的套接字地址&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; addrSrv.sin_family=AF_INET;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; addrSrv.sin_port=htons(port);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; bind(sockSrv,(SOCKADDR*)&amp;addrSrv,sizeof(SOCKADDR));//绑定端口&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; listen(sockSrv,5);//侦听&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; printf("Server %d is listening......\n",port);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; SOCKADDR_IN addrClient;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; int len=sizeof(SOCKADDR);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; char buf[4096];//接收的数据&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; char rbuf[100]=&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;cross-domain-policy&gt; "&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;allow-access-from domain=\"*\" to-ports=\"*\"/&gt;"&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&lt;/cross-domain-policy&gt; ";//套接字策略文件&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; while(1)&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //接受连接&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sockConn=accept(sockSrv,(SOCKADDR*)&amp;addrClient,&amp;len);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Accept connection from %s\n",inet_ntoa(addrClient.sin_addr));&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>recv:&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //接收数据&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int bytes;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if((bytes=recv(sockConn,buf,sizeof(buf),0))==SOCKET_ERROR)&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("接收数据失败!\n");&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(-1);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buf[bytes]='\0';&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Message from %s: %s\n",inet_ntoa(addrClient.sin_addr),buf);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (0 == strcmp(buf,"&lt;policy-file-request/&gt;"))&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //发送数据&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(send(sockConn,rbuf,strlen(rbuf)+1,0)==SOCKET_ERROR)&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("发送数据失败！");&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(-1);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Message to %s: %s\n",inet_ntoa(addrClient.sin_addr),rbuf);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //Echo&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(send(sockConn,buf,strlen(buf)+1,0)==SOCKET_ERROR)&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("发送数据失败！");&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit(-1);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; printf("Message to %s: %s\n",inet_ntoa(addrClient.sin_addr),buf);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; goto recv;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //清理套接字占用的资源&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; closesocket(sockConn);&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; <br>} <br>#include &lt;winsock2.h&gt;<br>#include &lt;windows.h&gt;<br>#include &lt;iostream&gt;<br>using namespace std;<br>#pragma comment(lib,"ws2_32.lib")</p>
<p>void main()<br>{ <br>WORD wVersionRequested;<br>WSADATA wsaData;<br>int err;<br>short port=1800;//端口号<br><br>wVersionRequested = MAKEWORD( 1, 1 );<br>err = WSAStartup( wVersionRequested, &amp;wsaData );//初始化套接字<br>if ( err != 0 )<br>{<br>&nbsp;&nbsp; return;<br>}<br><br>if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 )<br>{<br>&nbsp;&nbsp; WSACleanup( );<br>&nbsp;&nbsp; return;<br>}<br><br>SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);//创建套接字<br>SOCKET sockConn;//用来和客户端通信的套接字<br>SOCKADDR_IN addrSrv;//用来和客户端通信的套接字地址<br>addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);<br>addrSrv.sin_family=AF_INET;<br>addrSrv.sin_port=htons(port);<br><br>bind(sockSrv,(SOCKADDR*)&amp;addrSrv,sizeof(SOCKADDR));//绑定端口<br>listen(sockSrv,5);//侦听<br><br>printf("Server %d is listening......\n",port);<br><br>SOCKADDR_IN addrClient;<br><br>int len=sizeof(SOCKADDR);<br>char buf[4096];//接收的数据<br>char rbuf[100]=<br>&nbsp;&nbsp; "&lt;cross-domain-policy&gt; " <br>&nbsp;&nbsp; "&lt;allow-access-from domain=\"*\" to-ports=\"*\"/&gt;" <br>&nbsp;&nbsp; "&lt;/cross-domain-policy&gt; ";//套接字策略文件<br><br>while(1)<br>{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //接受连接<br>&nbsp;&nbsp; sockConn=accept(sockSrv,(SOCKADDR*)&amp;addrClient,&amp;len);<br>&nbsp;&nbsp; printf("Accept connection from %s\n",inet_ntoa(addrClient.sin_addr));<br>&nbsp;&nbsp;<br>recv:<br>&nbsp;&nbsp; //接收数据<br>&nbsp;&nbsp; int bytes;<br>&nbsp;&nbsp; if((bytes=recv(sockConn,buf,sizeof(buf),0))==SOCKET_ERROR)<br>&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; printf("接收数据失败!\n");<br>&nbsp;&nbsp;&nbsp; exit(-1);<br>&nbsp;&nbsp; }</p>
<p>&nbsp;&nbsp; buf[bytes]='\0';<br>&nbsp;&nbsp; printf("Message from %s: %s\n",inet_ntoa(addrClient.sin_addr),buf);&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp; if (0 == strcmp(buf,"&lt;policy-file-request/&gt;"))<br>&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; //发送数据<br>&nbsp;&nbsp;&nbsp; if(send(sockConn,rbuf,strlen(rbuf)+1,0)==SOCKET_ERROR)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; printf("发送数据失败！");<br>&nbsp;&nbsp;&nbsp;&nbsp; exit(-1);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; printf("Message to %s: %s\n",inet_ntoa(addrClient.sin_addr),rbuf);<br>&nbsp;&nbsp; }<br>&nbsp;&nbsp; else<br>&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; //Echo<br>&nbsp;&nbsp;&nbsp; if(send(sockConn,buf,strlen(buf)+1,0)==SOCKET_ERROR)<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp; printf("发送数据失败！");<br>&nbsp;&nbsp;&nbsp;&nbsp; exit(-1);<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; printf("Message to %s: %s\n",inet_ntoa(addrClient.sin_addr),buf);<br>&nbsp;&nbsp;&nbsp; goto recv;<br>&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //清理套接字占用的资源<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; closesocket(sockConn);<br>}<br>}</p>
<p>&nbsp;</p>
<p>无论是哪种情况，服务器均必须等待客户端的第一次传输之后再决定是发送策略文件还是建立主连接。当 Flash Player 请求策略文件时，它始终会在建立连接后传输以下字符串：</p>
<p>&lt;policy-file-request/&gt;<br>服务器收到此字符串后，即会传输该策略文件。程序对于策略文件请求和主连接并不会使用同一连接，因此应在传输策略文件后关闭连接。如果不关闭连接，Flash Player 将关闭策略文件连接，之后重新连接以建立主连接。</p>
<p>附网络资料：</p>
<p>1,首先检测目标服务器的843端口是否提供安全策略<br>2,如果1没有检测到策略，则检测actionscript是否使用了Security.loadPolicyFile(xmlsocket://) 手段提供安全策略，如果还没检测到，则使用第3步检测<br>3,检测目标服务器目标端口是否提供安全策略</p>
<p>&nbsp;</p>
<p>本文来自CSDN博客，转载请标明出处：<a href="http://blog.csdn.net/xuxiangwin/archive/2009/07/07/4324218.aspx">http://blog.csdn.net/xuxiangwin/archive/2009/07/07/4324218.aspx</a></p>
</div>
<img src ="http://www.cppblog.com/amyvmiwei/aggbug/141942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2011-03-16 10:22 <a href="http://www.cppblog.com/amyvmiwei/archive/2011/03/16/141942.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>把 ogre 中的 Terrain sample移出单独使用.</title><link>http://www.cppblog.com/amyvmiwei/archive/2009/02/28/75161.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Sat, 28 Feb 2009 08:33:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2009/02/28/75161.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/75161.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2009/02/28/75161.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/75161.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/75161.html</trackback:ping><description><![CDATA[大型项目一向关联很紧密，看到qt,webkit的什么makefile 都晕了3分。下面只是提醒自己方便以后使用。<br><br>直接把sample里的terrain拷贝出来，然后再把command里的include的ExampleApplication.h,ExampleFrameListener.h,ExampleLoadingBar.h,移到terrian的include下面<br>然后就是编译，首先会报错，什么lib文件没加进来，那么你就在ogre sdk里找到后添加进来，放在scripts 里面最简单。什么头文件没加进来，那么你就在ogremain,以及Dependencies里面找到后加进来，最后会报个错误是：工具从"正在执行生成后事件..."，这个的解决是：<br><br>查阅OGRE的论坛发现和生成后事件有关，因为拷贝命令没有执行成功<br>在项目的属性-&gt;生成事件-&gt;生成后事件-&gt;命令行里有如下命令<br>copy $(OutDir)\$(TargetFileName) $(OGRE_HOME)\bin\$(ConfigurationName)<br>改成<br>copy "$(OutDir)\$(TargetFileName)" "$(OGRE_HOME)\bin\$(ConfigurationName)"<br>就可以了<br><br>也就是加上 双引号...这下编译过了，但是运行差 资源文件，所以就报错，<br>解决：<br>把resources.cfg,ogre.cfg,Plugins.cfg,media.cfg,quake3settings.cfg靠别进来，也许某些没用，我还没看，然后把sample里的Media整个文件夹拷贝到srcipts，然后改resources,cfg里的文件路径。。。<br>FileSystem=./Media/models<br>FileSystem=./Media/overlays<br>FileSystem=./Media/particle<br>FileSystem=./Media/gui<br>FileSystem=./Media/DeferredShadingMedia<br>Zip=./Media/packs/cubemap.zip<br>Zip=./Media/packs/cubemapsJS.zip<br>Zip=./Media/packs/dragon.zip<br>Zip=./Media/packs/fresneldemo.zip<br>Zip=./Media/packs/ogretestmap.zip<br>Zip=./Media/packs/skybox.zip<br><br>然后就ok了~<br>
<img src ="http://www.cppblog.com/amyvmiwei/aggbug/75161.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2009-02-28 16:33 <a href="http://www.cppblog.com/amyvmiwei/archive/2009/02/28/75161.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>游戏技能冷却时间的图标绘制</title><link>http://www.cppblog.com/amyvmiwei/archive/2008/12/17/69694.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Wed, 17 Dec 2008 14:51:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2008/12/17/69694.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/69694.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2008/12/17/69694.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/69694.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/69694.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 只是马马虎虎的 实现了个简陋的，完成基本思想，剩下的就没做了。以后在补上，希望有好的方法的留下脚印。#include&nbsp;&lt;Windows.h&gt;#include&nbsp;&lt;d3d9.h&gt;#include&nbsp;&lt;d3dx9.h&gt;#pragma&nbsp;comment(lib,&nbsp;"d3d9.lib")#pragma&nbsp;comme...&nbsp;&nbsp;<a href='http://www.cppblog.com/amyvmiwei/archive/2008/12/17/69694.html'>阅读全文</a><img src ="http://www.cppblog.com/amyvmiwei/aggbug/69694.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2008-12-17 22:51 <a href="http://www.cppblog.com/amyvmiwei/archive/2008/12/17/69694.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>求救！Webkit~编译</title><link>http://www.cppblog.com/amyvmiwei/archive/2008/11/30/68217.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Sun, 30 Nov 2008 05:32:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2008/11/30/68217.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/68217.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2008/11/30/68217.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/68217.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/68217.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;想看Webkit，但是一直不知道怎么编译~，在管网上按他的方法做还是不成，在网上搜有个Qt的demo,还不容易下载了Qt，编译之，老天作弄人，Qt里面的一个Demo（browser）却不再工程里面~有源码但是没的工程，【伤感的开源~~~~（&gt;_&lt;)~~~~ (库)】<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有哪位高手可以指引再下么？谢谢~<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;主要是找到Webkit的接口，Thanks ~
<img src ="http://www.cppblog.com/amyvmiwei/aggbug/68217.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2008-11-30 13:32 <a href="http://www.cppblog.com/amyvmiwei/archive/2008/11/30/68217.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>qt 编译总结~</title><link>http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67932.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Wed, 26 Nov 2008 13:18:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67932.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/67932.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67932.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/67932.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/67932.html</trackback:ping><description><![CDATA[<p>最近打算看下HTML的渲染，据说QT里面用了webkit，想来看看，可是找了半天没发现一个*.sln文件，在网上郁闷了半天~<br>还好找到了解决方案，记录下来~~~~<br><a href="http://www.qtcn.org/bbs/home.php">http://www.qtcn.org/bbs/home.php</a>&nbsp;QT中文论坛，版主应该很强大~~总结了很多版本的编译方案~<br><br>可是我下载的4.4.3的，结果没有看到。最后在网上发现了一文！<br><a href="http://blog.csdn.net/huybin_wang/archive/2008/10/17/3091377.aspx">http://blog.csdn.net/huybin_wang/archive/2008/10/17/3091377.aspx</a>，跟着他的走，几乎成功，唯一的就是敲命令的时候不是用的start--&gt;cmd，而是vs2003里面的命令提示。<br><br>文章转载如下！<br><br></p>
<p>一.&nbsp;&nbsp;&nbsp;&nbsp;安装准备:</p>
<p>1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;准备安装文件:</p>
<p>&nbsp;(1):<span class=Apple-style-span style="WORD-SPACING: 0px; FONT: bold 12px Arial; TEXT-TRANSFORM: none; COLOR: rgb(255,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; TEXT-ALIGN: left; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">Qt 4.4.3 OpenSource for Windows</span></p>
<p>下载地址:<a href="ftp://ftp.trolltech.no/qt/source/qt-win-opensource-src-4.4.3.zip"><font color=#336699>&nbsp;ftp://ftp.trolltech.no/qt/source/qt-win-opensource-src-4.4.3.zip</font></a></p>
<p>(2)<span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">Qt Visual Studio Integration v1.2.2 for.VS.2003.2005 英文版</span></p>
<p><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">下载地址:<a href="http://www.fixdown.com/china/Programming/2525.htm"><u><font color=#336699>http://www.fixdown.com/china/Programming/2525.htm</font></u></a></span></p>
<p>(3)Visual Assist (代码提示功能,选装)</p>
<p>2.&nbsp;&nbsp;&nbsp;&nbsp;已安装VS2005,安装其中C++即可.</p>
<p>3.&nbsp;&nbsp;&nbsp;&nbsp;将下载的Qt 4.4.3文件解压. 如解压至目录D:\QT\4.4.3</p>
<p>4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设置环境变量</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;右击我的电脑-&gt;属性-&gt;高级-&gt;环境变量;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 在系统变量中新建QTDIR变量,变量值D:\QT\4.4.3</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;新建QMAKESPEC变量,变量值win32-msvc2005&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在PATH变量中填加:D:\QT\4.4.3\bin;</p>
<p>&nbsp;PS:&nbsp; </p>
<p>============================== </p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;platform&nbsp;</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;win32-msvc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VC6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;win32-msvc2003&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VS2003&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;win32-msvc2005&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VS2005<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;win32-msvc2008&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VS2008</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>==============================</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>至此准备工作结束.</font></p>
<p>&nbsp;</p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>二.&nbsp;&nbsp;&nbsp;&nbsp;编译QT</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>1.&nbsp;&nbsp;&nbsp;&nbsp;配置</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>&nbsp;在命令行提示符下进入QTDIR目录,如cd D:\QT\4.4.3</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>&nbsp; 在命令行中输入configure -no-dsp -vcproj </font></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;<font style="BACKGROUND-COLOR: #ffffff" face=Verdana>(具体参数设置可输入configure /?查看)</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;configure 大约需几分钟时间.</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>2.&nbsp;&nbsp;&nbsp;&nbsp;编译</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>configure完成后,会有提示.此时只需输入nmake进行编译.编译所花时间较长,两三个小时(视机器性能而定).</font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana></font>&nbsp;</p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana>三.&nbsp;&nbsp;&nbsp;&nbsp;安装<span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">Qt Visual Studio Integration v1.2.2</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">直接安装即可,用户名任意,注册码可取下列值之一:</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">FG6ALD-Y2PYGSX-F4M-LQAHD59-JZ6QKN-FJ7PXV-049B</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">FGEZDGX-AZPBJ8X-F4M-K44SA7M-UEG7TH-UYAML8M-05D7</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">FGPDXA9-MXKFJYM-F4M-BHEDKZX-8XCETXX-92WFVWX-A05E</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">FGWNPUX-Y6X26L9-F4M-GLZMY99-97RXPJX-BP256DX-737C</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0"></span></font>&nbsp;</p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">四.&nbsp;&nbsp;&nbsp;&nbsp;配置VS2005</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">"工具"-&gt;"选项"-&gt;"QT"-&gt;"Builds"添加version name: 4.4.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PATH: D:\QT\4.4.3</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">若安装了Visual Assist,则需选择<span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">"VAssistX" -&gt; "Visual Assist X Options ..." -&gt; "Projects", 在"Platform"里面把"Win32"改为"Custom",<br>在"Stable include files"中添加D:\Qt\4.3.3\include目录下的子文件夹.</span>&nbsp;</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0"></span></font>&nbsp;</p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">将D:\QT\4.4.3\bin目录下的DLL文件拷到C:\windows目录下(注意,重装QT时记得删除或替换.否则可能会出现找不到链接入口的错误.)</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">至此安装结束.</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0"></span></font>&nbsp;</p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">五.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;测试</span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">VS2005中:"文件"-&gt;"新建"-&gt;"项目",选择"Qt Projects"-&gt;"Qt Application".输入名称.确定,FINISH,OK<img height=461 alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/huybin_wang/EntryImages/20081017/1.JPG" width=681></span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">双击解决方案中"hello.ui",即可弹出窗体编辑器.在窗体上加入一个WIDGET,如BUTTON.</span></font></p>
<p><font style="BACKGROUND-COLOR: #0eb122" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0"><img height=449 alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/huybin_wang/EntryImages/20081017/Figure%202-2.JPG" width=977></span></font></p>
<p><font style="BACKGROUND-COLOR: #ffffff" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0">编译运行即可.</span></font></p>
<p><font style="BACKGROUND-COLOR: #0eb122" face=Verdana><span class=Apple-style-span style="WORD-SPACING: 0px; FONT: 13px/18px Verdana; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; orphans: 2; widows: 2; webkit-border-horizontal-spacing: 0px; webkit-border-vertical-spacing: 0px; webkit-text-decorations-in-effect: none; webkit-text-size-adjust: auto; webkit-text-stroke-width: 0"><img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/huybin_wang/EntryImages/20081017/Figure%202-2633598571086426176.JPG"></span></font></p>
<p><br>&nbsp;</p>
<img src ="http://www.cppblog.com/amyvmiwei/aggbug/67932.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2008-11-26 21:18 <a href="http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67932.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Singleton这又是为什么？？？</title><link>http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67930.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Wed, 26 Nov 2008 13:10:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67930.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/67930.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67930.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/67930.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/67930.html</trackback:ping><description><![CDATA[<p>设计模式之Singleton 单态模式想必大家都玩过，但是今天我碰到个问题，没想清楚，忘高手赐教！<br>下面就是Singleton头文件&#8220;1.h&#8221;</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"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#ifndef&nbsp;_SINGLETON_H__<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;_SINGLETON_H__</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">assert.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#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 src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></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 src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#if</span><span style="COLOR: #000000">&nbsp;VW3D_COMPILER&nbsp;==&nbsp;COMPILER_MSVC</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;Turn&nbsp;off&nbsp;warnings&nbsp;generated&nbsp;by&nbsp;this&nbsp;singleton&nbsp;implementation</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">#&nbsp;&nbsp;&nbsp;pragma&nbsp;warning&nbsp;(disable&nbsp;:&nbsp;</span><span style="COLOR: #000000">4311</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#&nbsp;&nbsp;&nbsp;pragma&nbsp;warning&nbsp;(disable&nbsp;:&nbsp;</span><span style="COLOR: #000000">4312</span><span style="COLOR: #000000">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#endif</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img id=Codehighlighter1_289_354_Open_Image onclick="this.style.display='none'; Codehighlighter1_289_354_Open_Text.style.display='none'; Codehighlighter1_289_354_Closed_Image.style.display='inline'; Codehighlighter1_289_354_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_289_354_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_289_354_Closed_Text.style.display='none'; Codehighlighter1_289_354_Open_Image.style.display='inline'; Codehighlighter1_289_354_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_289_354_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">/**/</span><span id=Codehighlighter1_289_354_Open_Text><span style="COLOR: #008000">/*</span><span style="COLOR: #008000">*&nbsp;Template&nbsp;class&nbsp;for&nbsp;creating&nbsp;single-instance&nbsp;global&nbsp;classes.<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top></span><span style="COLOR: #008000">*/</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>template&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">typename&nbsp;T</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;Singleton<br><img id=Codehighlighter1_394_848_Open_Image onclick="this.style.display='none'; Codehighlighter1_394_848_Open_Text.style.display='none'; Codehighlighter1_394_848_Closed_Image.style.display='inline'; Codehighlighter1_394_848_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_394_848_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_394_848_Closed_Text.style.display='none'; Codehighlighter1_394_848_Open_Image.style.display='inline'; Codehighlighter1_394_848_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_394_848_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 src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_394_848_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">protected</span><span style="COLOR: #000000">:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;T</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;ms_Singleton;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;Singleton(&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;)<br><img id=Codehighlighter1_462_575_Open_Image onclick="this.style.display='none'; Codehighlighter1_462_575_Open_Text.style.display='none'; Codehighlighter1_462_575_Closed_Image.style.display='inline'; Codehighlighter1_462_575_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_462_575_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_462_575_Closed_Text.style.display='none'; Codehighlighter1_462_575_Open_Image.style.display='inline'; Codehighlighter1_462_575_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_462_575_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 src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_462_575_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Sungleton&nbsp;Create~</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(&nbsp;</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">ms_Singleton&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ms_Singleton&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;static_cast</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;T</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">(&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">~</span><span style="COLOR: #000000">Singleton(&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;)<br><img id=Codehighlighter1_598_689_Open_Image onclick="this.style.display='none'; Codehighlighter1_598_689_Open_Text.style.display='none'; Codehighlighter1_598_689_Closed_Image.style.display='inline'; Codehighlighter1_598_689_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_598_689_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_598_689_Closed_Text.style.display='none'; Codehighlighter1_598_689_Open_Image.style.display='inline'; Codehighlighter1_598_689_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_598_689_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 src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_598_689_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Sungleton&nbsp;DeCreate~</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;assert(&nbsp;ms_Singleton&nbsp;);&nbsp;&nbsp;ms_Singleton&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;T</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;getSingleton(&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;)<br><img id=Codehighlighter1_724_779_Open_Image onclick="this.style.display='none'; Codehighlighter1_724_779_Open_Text.style.display='none'; Codehighlighter1_724_779_Closed_Image.style.display='inline'; Codehighlighter1_724_779_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_724_779_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_724_779_Closed_Text.style.display='none'; Codehighlighter1_724_779_Open_Image.style.display='inline'; Codehighlighter1_724_779_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_724_779_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 src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_724_779_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;assert(&nbsp;ms_Singleton&nbsp;);&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;(&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">ms_Singleton&nbsp;);&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;T</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;getSingletonPtr(&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;)<br><img id=Codehighlighter1_817_846_Open_Image onclick="this.style.display='none'; Codehighlighter1_817_846_Open_Text.style.display='none'; Codehighlighter1_817_846_Closed_Image.style.display='inline'; Codehighlighter1_817_846_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_817_846_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_817_846_Closed_Text.style.display='none'; Codehighlighter1_817_846_Open_Image.style.display='inline'; Codehighlighter1_817_846_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_817_846_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 src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_817_846_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;(&nbsp;ms_Singleton&nbsp;);&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#endif</span></div>
<br>下面是一个类A来运用他&#8220;A.h&#8221;<br>
<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"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#pragma&nbsp;once<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#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 src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></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 src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;CA&nbsp;:&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;Singleton</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">CA</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img id=Codehighlighter1_102_182_Open_Image onclick="this.style.display='none'; Codehighlighter1_102_182_Open_Text.style.display='none'; Codehighlighter1_102_182_Closed_Image.style.display='inline'; Codehighlighter1_102_182_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_102_182_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_102_182_Closed_Text.style.display='none'; Codehighlighter1_102_182_Open_Image.style.display='inline'; Codehighlighter1_102_182_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_102_182_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 src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_102_182_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">:<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;CA(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">~</span><span style="COLOR: #000000">CA(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;print(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i)<br><img id=Codehighlighter1_156_180_Open_Image onclick="this.style.display='none'; Codehighlighter1_156_180_Open_Text.style.display='none'; Codehighlighter1_156_180_Closed_Image.style.display='inline'; Codehighlighter1_156_180_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_156_180_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_156_180_Closed_Text.style.display='none'; Codehighlighter1_156_180_Open_Image.style.display='inline'; Codehighlighter1_156_180_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_156_180_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 src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_156_180_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>类A的实现&#8220;a.cpp&#8221;<br>
<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"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.\a.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>CA&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;Singleton</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">CA</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">::ms_Singleton&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;NULL;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>CA::CA(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_74_102_Open_Image onclick="this.style.display='none'; Codehighlighter1_74_102_Open_Text.style.display='none'; Codehighlighter1_74_102_Closed_Image.style.display='inline'; Codehighlighter1_74_102_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_74_102_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_74_102_Closed_Text.style.display='none'; Codehighlighter1_74_102_Open_Image.style.display='inline'; Codehighlighter1_74_102_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_74_102_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 src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_74_102_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Cr&nbsp;CA</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>CA::</span><span style="COLOR: #000000">~</span><span style="COLOR: #000000">CA(</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_119_146_Open_Image onclick="this.style.display='none'; Codehighlighter1_119_146_Open_Text.style.display='none'; Codehighlighter1_119_146_Closed_Image.style.display='inline'; Codehighlighter1_119_146_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_119_146_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_119_146_Closed_Text.style.display='none'; Codehighlighter1_119_146_Open_Image.style.display='inline'; Codehighlighter1_119_146_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span id=Codehighlighter1_119_146_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 src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_119_146_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cout&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">~~CA</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">&nbsp;endl;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>OK最下面就是Main函数了~<br>
<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"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">Windows.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#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 src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">tchar.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">assert.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>#include&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">A.h</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br><img id=Codehighlighter1_112_199_Open_Image onclick="this.style.display='none'; Codehighlighter1_112_199_Open_Text.style.display='none'; Codehighlighter1_112_199_Closed_Image.style.display='inline'; Codehighlighter1_112_199_Closed_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_112_199_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_112_199_Closed_Text.style.display='none'; Codehighlighter1_112_199_Open_Image.style.display='inline'; Codehighlighter1_112_199_Open_Text.style.display='inline';" src="http://www.cppblog.com/Images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span id=Codehighlighter1_112_199_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 src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_112_199_Open_Text><span style="COLOR: #000000">{<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">&nbsp;CA&nbsp;ca;</span><span style="COLOR: #008000"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CA::getSingletonPtr()</span><span style="COLOR: #000000">-&gt;</span><span style="COLOR: #000000">print(</span><span style="COLOR: #000000">100</span><span style="COLOR: #000000">);<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top><br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getchar();<br><img src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;}</span></span></div>
<br>瞧我把CA ca;注释掉了，但是还是....成功的调用了函数....只不过没有打印进入构造函数...的信息。<br>WHY ? 没进构造函数那么getSingletonPtr()应该是NULL吧。还能调用函数print？？ 
<img src ="http://www.cppblog.com/amyvmiwei/aggbug/67930.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2008-11-26 21:10 <a href="http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67930.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POW函数警告！</title><link>http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67929.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Wed, 26 Nov 2008 12:58:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67929.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/67929.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67929.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/67929.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/67929.html</trackback:ping><description><![CDATA[<p>今天在codeproject上看到这篇文章，pow函数的不稳定，我就顺手试了试，结果还真是的~，道理我还没找到，只是以后小心这样用！<br><a href="http://www.codeproject.com/KB/debug/powproblem.aspx">http://www.codeproject.com/KB/debug/powproblem.aspx</a><br><br>我试验的截图</p>
<p><img height=273 alt="" src="http://www.cppblog.com/images/cppblog_com/amyvmiwei/pow1.JPG" width=520 border=0></p>
<p><img height=352 alt="" src="http://www.cppblog.com/images/cppblog_com/amyvmiwei/pow2.JPG" width=640 border=0><br>~</p>
<img src ="http://www.cppblog.com/amyvmiwei/aggbug/67929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2008-11-26 20:58 <a href="http://www.cppblog.com/amyvmiwei/archive/2008/11/26/67929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>编译CEGUI的总结！</title><link>http://www.cppblog.com/amyvmiwei/archive/2008/11/23/67664.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Sun, 23 Nov 2008 07:40:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2008/11/23/67664.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/67664.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2008/11/23/67664.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/67664.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/67664.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最近打算研究CEGUI，但是打开看就是没有solution,一开始的我就没顾着看什么文件就直接创建自己的工程***.sln然后吧include,src,添加进来~一编译，肏---错误很多，什么头文件，什么lib没找到。。一看心就凉了，顾不得看了，就挨着在添dependencies里面的include,lib网上狂搜索然后添加之，不料还是没解决，也就是碰到<span>_FT_Init_FreeType __imp__FT_Init_FreeType。。。。等的连接错误~~然后就在网上四处讨教，最好碰到&#8220;七星重剑&#8221;的留言说，自己摸索能学到很多东西，于是就又捡起以前的工程来研究..<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 记得以前玩过freetype的东西，所以我知道这些都是freetype的lib问题，我就打开以前的东东，找到以前freetype的lib,直接用#pragma comment(lib, ''../../../bin/freetype.lib')来连接，OK的差不多了~~</span></p>
如果 &nbsp;出现&#8220;****内部编译器错误&#8221; 双击在文件第一行，解决方法是 ：设置：不使用预编译头文件，<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;今天在网上看到个连接，貌似可以看看~&nbsp;&nbsp;&nbsp;用他的方法，和我自己的方式遇到差不多的问题~~以前的教训（就是上面），解决了~<br>他的网址是<a href="http://www.cnblogs.com/xfxsworld/archive/2007/11/24/962532.html">http://www.cnblogs.com/xfxsworld/archive/2007/11/24/962532.html</a>&nbsp; （小祥），很详细。<br><br><br><br><strong><font face="Courier New" size=5>vs2005环境下CELayoutEditor源码编译详细步骤<br><br></font></strong>今天初试了一下CEGUI的官方编辑器——CELayoutEditor，其过程真可谓&#8220;饱受挫折&#8221;<img height=20 alt="" src="http://www.cnitblog.com/Emoticons/QQ/13.gif" width=20 border=0>。现简要写下其源码的编译过程，已使可能会用到的朋友少走些弯路<br><br>1.&nbsp;&nbsp;&nbsp;&nbsp;要编译CELayoutEditor，自然需要先编译CEGUI的东东，有2种选择：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.1 安装SDK，这是下载地址：<a href="http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-SDK-0.5.0b-vc8.exe"><font color=#1d58d1>http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-SDK-0.5.0b-vc8.exe</font></a>，不过并不推荐这种方法，因为SDK里的debug版dll似乎有问题。。。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.2 编译其源代码。下载地址：<a href="http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-0.5.0b.zip"><font color=#1d58d1>http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-0.5.0b.zip</font></a>，另外还需要下载依赖文件包dependencies package ，下载地址是：<a href="http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-DEPS-0.5.0b-vc8.zip"><font color=#1d58d1>http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-DEPS-0.5.0b-vc8.zip</font></a>，然后将依赖文件解压进源代码文件夹就OK了。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.2.1&nbsp;&nbsp; 先别急着找solution，有个地方需要注意。CEGUI默认的是OPENGL渲染，如果是用D3D的话还得改一个地方。进..\makefiles\premake文件夹找到config.lua文件，记事本打开。改成&#8220;OPENGL_RENDERER = false，DIRECTX9_RENDERER = true&#8221;，保存就可以了。CELayoutEditor是用OPENGL的，所以这里不做任何改动。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.2.2&nbsp;&nbsp;&nbsp; 运行build_vs2005.bat文件，执行完毕后会生成CEGUI.sln文件，打开就可直接编译了<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.3&nbsp;&nbsp; 建立环境变量：我的电脑\属性\高级\环境变量，然后在上面的用户变量区新建一个，变量名是CEGUI，变量值是CEGUI的解压目录。注意这步不能省<br><br><br>2&nbsp;&nbsp;&nbsp; 由于CELayoutEditor使用了wxWidgets，所以在编译CELayoutEditor之前还需要下载wxWidgets。目前最新版本是2.86，进入官方下载网页<a href="http://www.wxwidgets.org/downloads/"><font color=#1d58d1>http://www.wxwidgets.org/downloads/</font></a>&nbsp;选择WxAll下载。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.1 建立环境变量：我的电脑\属性\高级\环境变量，然后在上面的用户变量区新建一个，变量名是WXWIDGETS，变量值是wxWidgets的解压目录。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.2&nbsp; 进wxWidgets的解压目录找到<font size=2>wx.dsw，打开、&#8220;Yes To All&#8221;转换。转换完毕后先别编译，还需要改下。因为<font size=3>wxWidgets默认并不是OPENGL</font><br>
<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"><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Open&nbsp;$(WXWIDGETS)\include\wx\msw\setup.h&nbsp;and&nbsp;replace&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>Code:&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;wxUSE_GLCANVAS&nbsp;0&nbsp;&nbsp;</span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>WITH&nbsp;Code:&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;wxUSE_GLCANVAS&nbsp;1&nbsp;</span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">7.2</span><span style="COLOR: #000000">&nbsp;Open&nbsp;$(WXWIDGETS)\include\wx\univ\setup.h&nbsp;and&nbsp;replace&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>Code:&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#if</span><span style="COLOR: #000000">&nbsp;defined(__WIN32__)&nbsp;</span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;wxUSE_GLCANVAS&nbsp;1&nbsp;</span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;wxUSE_GLCANVAS&nbsp;0&nbsp;</span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>WITH&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>Code:&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;wxUSE_GLCANVAS&nbsp;1&nbsp;</span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.3&nbsp;&nbsp;&nbsp; 现在就可以开始编译了。注意要选择&#8220;Unicode Debug&#8221;和&#8220;'Unicode Release&#8221;方式<br><br>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下载CELayoutEditor。我是用SVN接的，地址是 <a class=postlink href="https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/trunk" target=_blank><font color=#006699>https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/trunk</font></a><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.1&nbsp;&nbsp;&nbsp; 解压后打开工程，将Include和Lib路径改成自己的，其他的不用改<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.2&nbsp;&nbsp;&nbsp;&nbsp;建立环境变量：我的电脑\属性\高级\环境变量，然后在上面的用户变量区新建一个，变量名是CE_LAYOUT_EDITOR ，变量值是CELayoutEditor的解压目录。注意这步不能省<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.3&nbsp;&nbsp;&nbsp; 终于可以开始编译了。。。<img height=20 alt="" src="http://www.cnitblog.com/Emoticons/QQ/11.gif" width=20 border=0><br><br>4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.1&nbsp;&nbsp;&nbsp; 编译会出现一个错误，暂时我还没找到解决方法，仅仅是给错误的地方注释掉了。。。然后就编译成功了<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.2&nbsp;&nbsp;&nbsp; 拷一些东西过来</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"><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">TO&nbsp;$(CE_LAYOUT_EDITOR)\bin\debug&nbsp;(Debug&nbsp;configuration)&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIBase_d.dll&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIExpatParser_d.dll&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIFalagardWRBase_d.dll&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUISILLYImageCodec_d.dll&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUITGAImageCodec_d.dll&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;OpenGLGUIRenderer_d.dll&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;SILLY_d.dll<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>TO&nbsp;$(CE_LAYOUT_EDITOR)\bin\release&nbsp;(Release&nbsp;configuration)&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIBase.dll&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIExpatParser.dll&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUIFalagardWRBase.dll&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUISILLYImageCodec.dll&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;CEGUITGAImageCodec.dll&nbsp;<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;OpenGLGUIRenderer.dll<br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;SILLY.dll</span></div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.3 SILLY.dll和SILLY_d.dll在依赖文件夹里<br><br>OK。。。到这里就完了，虽然这个工具的bug很多，不过不怕，编译它就是为了要改造它，呵呵。希望此文对你有所帮助<img height=20 alt="" src="http://www.cnitblog.com/Emoticons/QQ/13.gif" width=20 border=0><br></p>
</font>
<img src ="http://www.cppblog.com/amyvmiwei/aggbug/67664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2008-11-23 15:40 <a href="http://www.cppblog.com/amyvmiwei/archive/2008/11/23/67664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为什么在MFC中的单文档下用D3D画图坐标不对盘！</title><link>http://www.cppblog.com/amyvmiwei/archive/2008/09/16/61989.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Tue, 16 Sep 2008 08:49:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2008/09/16/61989.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/61989.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2008/09/16/61989.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/61989.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/61989.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 最近想在MFC中运用D3D，直接来了就用的单文档，结果调试半天还是坐标不对~鼠标的位置就是y比画的图形要大，而且是越往右下角拉 y 距离相差就越大！！！但是同样的我用多文档，还有对话框都没有这种问题，请高手赐教@谢谢@&nbsp;为什么多文档，Dialog都没这问题呢？CODE://&nbsp;TestDSIView.cpp&nbsp;:&nbsp;CTestDSIView&nbs...&nbsp;&nbsp;<a href='http://www.cppblog.com/amyvmiwei/archive/2008/09/16/61989.html'>阅读全文</a><img src ="http://www.cppblog.com/amyvmiwei/aggbug/61989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2008-09-16 16:49 <a href="http://www.cppblog.com/amyvmiwei/archive/2008/09/16/61989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VC 中获得当前本机的时间方法</title><link>http://www.cppblog.com/amyvmiwei/archive/2008/07/05/55412.html</link><dc:creator>MiweiDev</dc:creator><author>MiweiDev</author><pubDate>Sat, 05 Jul 2008 10:32:00 GMT</pubDate><guid>http://www.cppblog.com/amyvmiwei/archive/2008/07/05/55412.html</guid><wfw:comment>http://www.cppblog.com/amyvmiwei/comments/55412.html</wfw:comment><comments>http://www.cppblog.com/amyvmiwei/archive/2008/07/05/55412.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/amyvmiwei/comments/commentRss/55412.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/amyvmiwei/services/trackbacks/55412.html</trackback:ping><description><![CDATA[<p>//方案— 优点：仅使用C标准库；缺点：只能精确到秒级 </p>
<p>#include &lt;time.h&gt; </p>
<p>#include &lt;stdio.h&gt; </p>
<p>int main( void ) </p>
<p>{ </p>
<p>time_t t = time( 0 ); </p>
<p>char tmp[64]; </p>
<p>strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第%j天 %z", </p>
<p>localtime(&amp;t) ); </p>
<p>puts( tmp ); </p>
<p>return 0; </p>
<p>} </p>
<p>&nbsp;</p>
<p>//方案二 优点：能精确到毫秒级；缺点：使用了windows API </p>
<p>#include &lt;windows.h&gt; </p>
<p>#include &lt;stdio.h&gt; </p>
<p>int main( void ) </p>
<p>{ </p>
<p>SYSTEMTIME sys; </p>
<p>GetLocalTime( &amp;sys ); </p>
<p>printf( "%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\n" </p>
<p>,sys.wYear,sys.wMonth,sys.wDay </p>
<p>,sys.wHour,sys.wMinute,sys.wSecond,sys.wMilliseconds </p>
<p>,sys.wDayOfWeek); </p>
<p>&nbsp;</p>
<p>return 0;<br>}</p>
<p>//方案三,优点：利用系统函数<br>#include&lt;stdlib.h&gt;<br>#include&lt;iostream&gt;<br>using namespace std;<br>void main(){<br>system("time");<br>}<br>可以改变电脑的时间设定 </p>
<p>方案4：<br>#include&lt;iostream&gt;<br>#include&lt;ctime&gt;<br>using namespace std;<br>int main(){<br>time_t now_time;<br>now_time = time(NULL);<br>cout&lt;&lt;now_time;<br>return 0;<br>}<br>将当前时间折算为秒级，再通过相应的时间换算即可。<br><br>方案5<br>//////////////////////////////////////////////////////////////////////////////////////////////<br>void main() {&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; LARGE_INTEGER lv;</p>
<p>&nbsp;&nbsp;&nbsp; // 获取每秒多少CPU Performance Tick<br>&nbsp;&nbsp;&nbsp; QueryPerformanceFrequency( &amp;lv );</p>
<p>&nbsp;&nbsp;&nbsp; // 转换为每个Tick多少秒<br>&nbsp;&nbsp;&nbsp; double secondsPerTick = 1.0 / lv.QuadPart;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; for ( size_t i = 0; i &lt; 100; ++i ) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 获取CPU运行到现在的Tick数<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QueryPerformanceCounter( &amp;lv );</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 计算CPU运行到现在的时间<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 比GetTickCount和timeGetTime更加精确<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; double timeElapsedTotal = secondsPerTick * lv.QuadPart;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout.precision( 6 );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cout &lt;&lt; fixed &lt;&lt; showpoint &lt;&lt; timeElapsedTotal &lt;&lt; endl;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //printf( "%lf \n", timeElapsedTotal ) ;<br>&nbsp;&nbsp;&nbsp; }<br>} </p>
<img src ="http://www.cppblog.com/amyvmiwei/aggbug/55412.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/amyvmiwei/" target="_blank">MiweiDev</a> 2008-07-05 18:32 <a href="http://www.cppblog.com/amyvmiwei/archive/2008/07/05/55412.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>