??xml version="1.0" encoding="utf-8" standalone="yes"?>狠狠精品干练久久久无码中文字幕,热RE99久久精品国产66热,久久精品无码免费不卡http://www.shnenglu.com/amyvmiwei/archive/2013/06/08/bugs.htmlMiweiDevMiweiDevSat, 08 Jun 2013 05:11:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2013/06/08/bugs.htmlhttp://www.shnenglu.com/amyvmiwei/comments/200866.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2013/06/08/bugs.html#Feedback0http://www.shnenglu.com/amyvmiwei/comments/commentRss/200866.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/200866.html一QCLANG:error :linker command failed with exit code 1 (use -v to see invocation)
用XCODE来编译COCOS2D-X的项目,发现~译的时候出先问题提CCLANG:error :linker command failed with exit code 1 (use -v to see invocation),上个版本~译成功Q所以针对这个问题就很容易排除了Q查看更C什么,q行分析。发现就是添加了几个文gQ没有什么大的问题,开始网上找怎么use -v to see, 发现没有相关的, 看到|上也有几个人提个问题,但是都是Ҏ面面的,不是我这cd的?br />1. 有h解决的是Q在工作左边D栏Target-->Build Phases-->compile Sources中,W三库库的所?m文g都添加到里面Q然后编译通过了。也是文件的情况?br />2. 有h解决的是Q说明有无法准确扑ֈ的函敎ͼ函数有重复现象。造成q个错误的原因是我直接在 .h头文件中实现了几个函敎ͼ然后q个头文件又被别?c文g所引用Q有实现的。所以解军_法是把实现的几个函数单出一?c文g里去。这样就ok了?br />3. 有h解决的是Q在main函数的头Q既import?h文g又import?m文gQ?包含?m文g的情?
4. q有人遇C用的库版Q不支持当前的ios6,iphon5版本的问题?br />
基本上都不是我的问题Q有3的思\Q我x不是我重复加了某个文Ӟ因ؓ更新的时候发现自己添加了几个新文Ӟq有个几个老文件也d了进了xcode目Q当时就怀疑怎么老文件不在呢。。。删除,问题解决。。。也是包含?个同L文gQ或者叫工程中再同一namespace下有相同cR函数?br />5. 我遇到的问题解决?重复d了某?h,.cpp文g?/div>

MiweiDev 2013-06-08 13:11 发表评论
]]>
LNK2019(1)http://www.shnenglu.com/amyvmiwei/archive/2011/11/07/159775.htmlMiweiDevMiweiDevMon, 07 Nov 2011 11:31:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2011/11/07/159775.htmlhttp://www.shnenglu.com/amyvmiwei/comments/159775.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2011/11/07/159775.html#Feedback0http://www.shnenglu.com/amyvmiwei/comments/commentRss/159775.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/159775.html
error LNK2019: 无法解析的外部符?__malloc_dbg

_DEBUG ; NDEBUG


MiweiDev 2011-11-07 19:31 发表评论
]]>
VC 此项目已q期...http://www.shnenglu.com/amyvmiwei/archive/2011/03/29/142958.htmlMiweiDevMiweiDevTue, 29 Mar 2011 09:43:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2011/03/29/142958.htmlhttp://www.shnenglu.com/amyvmiwei/comments/142958.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2011/03/29/142958.html#Feedback0http://www.shnenglu.com/amyvmiwei/comments/commentRss/142958.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/142958.html2.生成与调试\径?br>3.找下面和XXX.sln同目录的XXX.ncb文gQ删除它Q?nbsp;



MiweiDev 2011-03-29 17:43 发表评论
]]>
boost 1_46 vs2008~译http://www.shnenglu.com/amyvmiwei/archive/2011/03/23/142569.htmlMiweiDevMiweiDevWed, 23 Mar 2011 05:42:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2011/03/23/142569.htmlhttp://www.shnenglu.com/amyvmiwei/comments/142569.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2011/03/23/142569.html#Feedback0http://www.shnenglu.com/amyvmiwei/comments/commentRss/142569.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/142569.html

  1. Unarchive the latest version of boost (1.46.0 as of writing) into a directory of your choice (e.g. C:\boost_1_46_0).
  2. Start the Visual Studio Command Prompt for the platform of your choice and navigate to where boost is.
  3. Run: bootstrap.bat to build bjam.
  4. Run bjam: (Win32) bjam --toolset=msvc-9.0 --build-type=complete stage
  5. Go through steps 2 - 6 from the set of instruction above to set the environment variables.
  6. Edit the Library Directories section to include the path to your boost libraries output. (The default for the example and instructions above would be C:\boost_1_46_0\stage\lib. Rename and move the directory first if you want to have x86 & x64 side by side (such as to <BOOST_PATH>\lib\x86 & <BOOST_PATH>\lib\x64).
  7. Repeat steps 2 - 6 for different platform of your choice if needed.



MiweiDev 2011-03-23 13:42 发表评论
]]>
Memory Barriers的一些小l??http://www.shnenglu.com/amyvmiwei/archive/2011/03/22/142451.htmlMiweiDevMiweiDevTue, 22 Mar 2011 02:02:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2011/03/22/142451.htmlhttp://www.shnenglu.com/amyvmiwei/comments/142451.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2011/03/22/142451.html#Feedback0http://www.shnenglu.com/amyvmiwei/comments/commentRss/142451.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/142451.htmlQhttp://blog.liuw.name/669Q?br>

五一期间看了一文章,Memory Barriers: a Hardware View for Software HackersQ对于Memory Barriers得到了更加深入的理解?/p>

Cache本n的更新是遵守MESIQModifiedQExclusiveQSharedQInvalidQ协议的。CPU之间的Cache信息更新通过消息传递来完成?/p>

但是现在CPU的设计中Q在Cache之外加入了Store Buffer和Invalidate Queue。Store Buffer的加入,使得CPUҎ内存单元的更C能马上反映到Cache中;Invalidate Queue的存在,使得其他CPU对Cache的invalidate操作不能马上反映到Cache中。Store Buffer和Invalidate Queue提高了性能Q但是也导致了Cache的不一致?/p>

因此需要引入Memory Barriers。Store Buffer和Invalidate Queue应该分别对应使用wmb和rmb。当然直接用通用mb也是可以的?/p>

Roughly speaking, a “rmb” marks only the invalidate queue and a “wmb” marks only the store buffer, while a “mb” does both.

一般来_Memory Barriers应该配对使用Q比如说一方用了rmb另外一方对应用wmb。在Linux内核中,q存在着Data Dependence Memory BarrierQ这是一个较qrmb。具体见Linux内核代码的Documentation/memory-barriers.txt?/p>

MiweiDev 2011-03-22 10:02 发表评论
]]>
[转]Flex Socket ?C++ 通讯 --- 安全沙箱问题解决http://www.shnenglu.com/amyvmiwei/archive/2011/03/16/141942.htmlMiweiDevMiweiDevWed, 16 Mar 2011 02:22:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2011/03/16/141942.htmlhttp://www.shnenglu.com/amyvmiwei/comments/141942.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2011/03/16/141942.html#Feedback2http://www.shnenglu.com/amyvmiwei/comments/commentRss/141942.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/141942.htmlFlex Socket ?C++ 通讯 --- 安全沙箱问题解决

最q一个项目的客户端要ҎFlexQ用Socket与C++通讯旉C安全沙箱问题Q这是我的解x法;

1):{略文g与主套接字在同一端口Q只需调用 Socket.connect() ?XMLSocket.connect() ҎQ?/p>

2):{略文g与主套接字在不同端口Q需使用Ҏ?#8220;xmlsocket”语法调用 Security.loadPolicyFile() ҎQ如下所C:

Security.loadPolicyFile("xmlsocket://server.com:2525");

先调?Security.loadPolicyFile() ҎQ然后再调用 Socket.connect() ?XMLSocket.connect() Ҏ?/p>

试代码Q用同一端口

view plaincopy to clipboardprint?
#include <winsock2.h>  
#include <windows.h>  
#include <iostream>  
using namespace std;  
#pragma comment(lib,"ws2_32.lib")  

void main()  
{   
    WORD wVersionRequested;  
    WSADATA wsaData;  
    int err;  
    short port=1800;//端口?nbsp; 
      
    wVersionRequested = MAKEWORD( 1, 1 );  
    err = WSAStartup( wVersionRequested, &wsaData );//初始化套接字  
    if ( err != 0 )  
    {  
        return;  
    }  
      
    if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 )  
    {  
        WSACleanup( );  
        return;  
    }  
      
    SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);//创徏套接?nbsp; 
    SOCKET sockConn;//用来和客L通信的套接字  
    SOCKADDR_IN addrSrv;//用来和客L通信的套接字地址  
    addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);  
    addrSrv.sin_family=AF_INET;  
    addrSrv.sin_port=htons(port);  
      
    bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));//l定端口  
    listen(sockSrv,5);//侦听  
      
    printf("Server %d is listening......\n",port);  
      
    SOCKADDR_IN addrClient;  
      
    int len=sizeof(SOCKADDR);  
    char buf[4096];//接收的数?nbsp; 
    char rbuf[100]=  
        "<cross-domain-policy> "    
        "<allow-access-from domain=\"*\" to-ports=\"*\"/>"    
        "</cross-domain-policy> ";//套接字策略文?nbsp; 
      
    while(1)  
    {  
        //接受q接  
        sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);  
        printf("Accept connection from %s\n",inet_ntoa(addrClient.sin_addr));  
          
recv:  
        //接收数据  
        int bytes;  
        if((bytes=recv(sockConn,buf,sizeof(buf),0))==SOCKET_ERROR)  
        {  
            printf("接收数据p|!\n");  
            exit(-1);  
        }  

        buf[bytes]='\0';  
        printf("Message from %s: %s\n",inet_ntoa(addrClient.sin_addr),buf);       

        if (0 == strcmp(buf,"<policy-file-request/>"))  
        {  
            //发送数?nbsp; 
            if(send(sockConn,rbuf,strlen(rbuf)+1,0)==SOCKET_ERROR)  
            {  
                printf("发送数据失败!");  
                exit(-1);  
            }  
            printf("Message to %s: %s\n",inet_ntoa(addrClient.sin_addr),rbuf);  
        }  
        else
        {  
            //Echo  
            if(send(sockConn,buf,strlen(buf)+1,0)==SOCKET_ERROR)  
            {  
                printf("发送数据失败!");  
                exit(-1);  
            }  
            printf("Message to %s: %s\n",inet_ntoa(addrClient.sin_addr),buf);  
            goto recv;  
        }  
        //清理套接字占用的资源  
        closesocket(sockConn);  
    }  
}
#include <winsock2.h>
#include <windows.h>
#include <iostream>
using namespace std;
#pragma comment(lib,"ws2_32.lib")

void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
short port=1800;//端口?br>
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );//初始化套接字
if ( err != 0 )
{
   return;
}

if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 )
{
   WSACleanup( );
   return;
}

SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);//创徏套接?br>SOCKET sockConn;//用来和客L通信的套接字
SOCKADDR_IN addrSrv;//用来和客L通信的套接字地址
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(port);

bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));//l定端口
listen(sockSrv,5);//侦听

printf("Server %d is listening......\n",port);

SOCKADDR_IN addrClient;

int len=sizeof(SOCKADDR);
char buf[4096];//接收的数?br>char rbuf[100]=
   "<cross-domain-policy> "
   "<allow-access-from domain=\"*\" to-ports=\"*\"/>"
   "</cross-domain-policy> ";//套接字策略文?br>
while(1)
{
        //接受q接
   sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
   printf("Accept connection from %s\n",inet_ntoa(addrClient.sin_addr));
  
recv:
   //接收数据
   int bytes;
   if((bytes=recv(sockConn,buf,sizeof(buf),0))==SOCKET_ERROR)
   {
    printf("接收数据p|!\n");
    exit(-1);
   }

   buf[bytes]='\0';
   printf("Message from %s: %s\n",inet_ntoa(addrClient.sin_addr),buf);  

   if (0 == strcmp(buf,"<policy-file-request/>"))
   {
    //发送数?br>    if(send(sockConn,rbuf,strlen(rbuf)+1,0)==SOCKET_ERROR)
    {
     printf("发送数据失败!");
     exit(-1);
    }
    printf("Message to %s: %s\n",inet_ntoa(addrClient.sin_addr),rbuf);
   }
   else
   {
    //Echo
    if(send(sockConn,buf,strlen(buf)+1,0)==SOCKET_ERROR)
    {
     printf("发送数据失败!");
     exit(-1);
    }
    printf("Message to %s: %s\n",inet_ntoa(addrClient.sin_addr),buf);
    goto recv;
   }
        //清理套接字占用的资源
        closesocket(sockConn);
}
}

 

无论是哪U情况,服务器均必须{待客户端的W一ơ传输之后再军_是发送策略文件还是徏立主q接。当 Flash Player h{略文gӞ它始l会在徏立连接后传输以下字符Ԍ

<policy-file-request/>
服务器收到此字符串后Q即会传输该{略文g。程序对于策略文件请求和主连接ƈ不会使用同一q接Q因此应在传输策略文件后关闭q接。如果不关闭q接QFlash Player 关闭策略文件连接,之后重新q接以徏立主q接?/p>

附网l资料:

1,首先目标服务器?43端口是否提供安全{略
2,如果1没有到{略Q则actionscript是否使用了Security.loadPolicyFile(xmlsocket://) 手段提供安全{略Q如果还没检到Q则使用W?步检?br>3,目标服务器目标端口是否提供安全{略

 

本文来自CSDN博客Q{载请标明出处Q?a >http://blog.csdn.net/xuxiangwin/archive/2009/07/07/4324218.aspx



MiweiDev 2011-03-16 10:22 发表评论
]]>
?ogre 中的 Terrain sampleUd单独使用.http://www.shnenglu.com/amyvmiwei/archive/2009/02/28/75161.htmlMiweiDevMiweiDevSat, 28 Feb 2009 08:33:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2009/02/28/75161.htmlhttp://www.shnenglu.com/amyvmiwei/comments/75161.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2009/02/28/75161.html#Feedback0http://www.shnenglu.com/amyvmiwei/comments/commentRss/75161.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/75161.html
直接把sample里的terrain拯出来Q然后再把command里的include的ExampleApplication.h,ExampleFrameListener.h,ExampleLoadingBar.h,Udterrian的include下面
然后是~译Q首先会报错Q什么lib文g没加q来Q那么你在ogre sdk里找到后dq来Q放在scripts 里面最单。什么头文g没加q来Q那么你在ogremain,以及Dependencies里面扑ֈ后加q来Q最后会报个错误是:工具?正在执行生成后事?.."Q这个的解决是:

查阅OGRE的论坛发现和生成后事件有养I因ؓ拯命o没有执行成功
在项目的属?>生成事g->生成后事?>命o行里有如下命?br>copy $(OutDir)\$(TargetFileName) $(OGRE_HOME)\bin\$(ConfigurationName)
Ҏ
copy "$(OutDir)\$(TargetFileName)" "$(OGRE_HOME)\bin\$(ConfigurationName)"
可以了

也就是加?双引?..q下~译q了Q但是运行差 资源文gQ所以就报错Q?br>解决Q?br>把resources.cfg,ogre.cfg,Plugins.cfg,media.cfg,quake3settings.cfg靠别q来Q也许某些没用,我还没看Q然后把sample里的Media整个文gҎ贝到srciptsQ然后改resources,cfg里的文g路径。。?br>FileSystem=./Media/models
FileSystem=./Media/overlays
FileSystem=./Media/particle
FileSystem=./Media/gui
FileSystem=./Media/DeferredShadingMedia
Zip=./Media/packs/cubemap.zip
Zip=./Media/packs/cubemapsJS.zip
Zip=./Media/packs/dragon.zip
Zip=./Media/packs/fresneldemo.zip
Zip=./Media/packs/ogretestmap.zip
Zip=./Media/packs/skybox.zip

然后ok了~


MiweiDev 2009-02-28 16:33 发表评论
]]>
游戏技能冷却时间的图标l制http://www.shnenglu.com/amyvmiwei/archive/2008/12/17/69694.htmlMiweiDevMiweiDevWed, 17 Dec 2008 14:51:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2008/12/17/69694.htmlhttp://www.shnenglu.com/amyvmiwei/comments/69694.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2008/12/17/69694.html#Feedback1http://www.shnenglu.com/amyvmiwei/comments/commentRss/69694.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/69694.html阅读全文

MiweiDev 2008-12-17 22:51 发表评论
]]>
求救QWebkit~~译http://www.shnenglu.com/amyvmiwei/archive/2008/11/30/68217.htmlMiweiDevMiweiDevSun, 30 Nov 2008 05:32:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2008/11/30/68217.htmlhttp://www.shnenglu.com/amyvmiwei/comments/68217.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2008/11/30/68217.html#Feedback7http://www.shnenglu.com/amyvmiwei/comments/commentRss/68217.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/68217.html      有哪位高手可以指引再下么Q谢谢~
         主要是找到Webkit的接口,Thanks ~

MiweiDev 2008-11-30 13:32 发表评论
]]>
qt ~译ȝ~http://www.shnenglu.com/amyvmiwei/archive/2008/11/26/67932.htmlMiweiDevMiweiDevWed, 26 Nov 2008 13:18:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2008/11/26/67932.htmlhttp://www.shnenglu.com/amyvmiwei/comments/67932.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2008/11/26/67932.html#Feedback0http://www.shnenglu.com/amyvmiwei/comments/commentRss/67932.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/67932.html最q打看下HTML的渲染,据说QT里面用了webkitQ想来看看,可是找了半天没发C?.sln文gQ在|上郁闷了半天~
q好扑ֈ了解x案,记录下来~~~~
http://www.qtcn.org/bbs/home.php QT中文论坛Q版d该很强大~~ȝ了很多版本的~译Ҏ~

可是我下载的4.4.3的,l果没有看到。最后在|上发现了一文!
http://blog.csdn.net/huybin_wang/archive/2008/10/17/3091377.aspxQ跟着他的赎ͼ几乎成功Q唯一的就是敲命o的时候不是用的start-->cmdQ而是vs2003里面的命令提C?br>
文章转蝲如下Q?br>

一.    安装准备:

1.     准备安装文g:

 (1):Qt 4.4.3 OpenSource for Windows

下蝲地址: ftp://ftp.trolltech.no/qt/source/qt-win-opensource-src-4.4.3.zip

(2)Qt Visual Studio Integration v1.2.2 for.VS.2003.2005 英文?/span>

下蝲地址:http://www.fixdown.com/china/Programming/2525.htm

(3)Visual Assist (代码提示功能,选装)

2.    已安装VS2005,安装其中C++卛_.

3.    下载的Qt 4.4.3文g解压. 如解压至目录D:\QT\4.4.3

4.     讄环境变量

       叛_我的电脑->属?>高->环境变量;

     在系l变量中新徏QTDIR变量,变量值D:\QT\4.4.3

       新徏QMAKESPEC变量,变量值win32-msvc2005 

        在PATH变量中填?D:\QT\4.4.3\bin;

 PS: 

==============================

        value                             platform 

        win32-msvc                   VC6      
        win32-msvc2003           VS2003 
        win32-msvc2005           VS2005
        win32-msvc2008           VS2008

==============================

x准备工作l束.

 

?    ~译QT

1.    配置

 在命令行提示W下q入QTDIR目录,如cd D:\QT\4.4.3

  在命令行中输入configure -no-dsp -vcproj

    (具体参数讄可输入configure /?查看)

    configure 大约需几分钟时?

2.    ~译

configure完成?会有提示.此时只需输入nmakeq行~译.~译所花时间较?两三个小?视机器性能而定).

 

?    安装Qt Visual Studio Integration v1.2.2

直接安装卛_,用户名Q?注册码可取下列g一:

FG6ALD-Y2PYGSX-F4M-LQAHD59-JZ6QKN-FJ7PXV-049B

FGEZDGX-AZPBJ8X-F4M-K44SA7M-UEG7TH-UYAML8M-05D7

FGPDXA9-MXKFJYM-F4M-BHEDKZX-8XCETXX-92WFVWX-A05E

FGWNPUX-Y6X26L9-F4M-GLZMY99-97RXPJX-BP256DX-737C

 

?    配置VS2005

"工具"->"选项"->"QT"->"Builds"dversion name: 4.4.3     PATH: D:\QT\4.4.3

若安装了Visual Assist,则需选择"VAssistX" -> "Visual Assist X Options ..." -> "Projects", ?Platform"里面?Win32"改ؓ"Custom",
?Stable include files"中添加D:\Qt\4.3.3\include目录下的子文件夹.
 

 

D:\QT\4.4.3\bin目录下的DLL文g拷到C:\windows目录?注意,重装QT时记得删除或替换.否则可能会出现找不到链接入口的错?)

x安装l束.

 

?     试

VS2005?"文g"->"新徏"->"目",选择"Qt Projects"->"Qt Application".输入名称.定,FINISH,OK

双击解决Ҏ?hello.ui",卛_弹出H体~辑?在窗体上加入一个WIDGET,如BUTTON.

~译q行卛_.


 



MiweiDev 2008-11-26 21:18 发表评论
]]>
Singletonq又是ؓ什么?Q?http://www.shnenglu.com/amyvmiwei/archive/2008/11/26/67930.htmlMiweiDevMiweiDevWed, 26 Nov 2008 13:10:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2008/11/26/67930.htmlhttp://www.shnenglu.com/amyvmiwei/comments/67930.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2008/11/26/67930.html#Feedback4http://www.shnenglu.com/amyvmiwei/comments/commentRss/67930.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/67930.html设计模式之Singleton 单态模式想必大安玩过Q但是今天我到个问题,没想清楚Q忘高手赐教Q?br>下面是Singleton头文?#8220;1.h”

#ifndef _SINGLETON_H__
#define _SINGLETON_H__

#include 
<assert.h>
#include 
<iostream>
using namespace std;

#if VW3D_COMPILER == COMPILER_MSVC
// Turn off warnings generated by this singleton implementation
#   pragma warning (disable : 4311)
#   pragma warning (disable : 
4312)
#endif


/** Template class for creating single-instance global classes.
*/

template 
<typename T> class Singleton
{
protected:

    
static T* ms_Singleton;

public:
    Singleton( 
void )
    
{
        cout 
<< "Sungleton Create~" << endl;
        assert( 
!ms_Singleton );
        ms_Singleton 
= static_cast< T* >this );
    }

    
~Singleton( void )
    
{
        cout 
<< "Sungleton DeCreate~" << endl;
        assert( ms_Singleton );  ms_Singleton 
= 0;  
    }

    
static T& getSingleton( void )
    
{  assert( ms_Singleton );  return ( *ms_Singleton );  }
    
static T* getSingletonPtr( void )
    
{  return ( ms_Singleton );  }
}
;
#endif

下面是一个类A来运用他“A.h”
#pragma once
#include 
"1.h"
#include 
<iostream>
using namespace std;

class CA : public Singleton<CA>
{
public:
    CA(
void);
    
~CA(void);

    
void print(int i)
    
{
        cout 
<< i << endl;
    }

}
;


cA的实?#8220;a.cpp”
#include ".\a.h"

CA 
* Singleton<CA>::ms_Singleton = NULL;

CA::CA(
void)
{
    cout 
<< "Cr CA" << endl;
}


CA::
~CA(void)
{
    cout 
<< "~~CA" << endl;
}


OK最下面是Main函数了~
#include <Windows.h>
#include 
<iostream>
#include 
<tchar.h>
#include 
<assert.h>
#include 
"A.h"
   
int main()
   
{
      
// CA ca;
       CA::getSingletonPtr()->print(100);

       getchar();
       
return 0;
   }

瞧我把CA ca;注释掉了Q但是还?...成功的调用了函数....只不q没有打印进入构造函?..的信息?br>WHY ? 没进构造函数那么getSingletonPtr()应该是NULL吧。还能调用函数printQ?

MiweiDev 2008-11-26 21:10 发表评论
]]>
POW函数警告Q?/title><link>http://www.shnenglu.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.shnenglu.com/amyvmiwei/archive/2008/11/26/67929.html</guid><wfw:comment>http://www.shnenglu.com/amyvmiwei/comments/67929.html</wfw:comment><comments>http://www.shnenglu.com/amyvmiwei/archive/2008/11/26/67929.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/amyvmiwei/comments/commentRss/67929.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/amyvmiwei/services/trackbacks/67929.html</trackback:ping><description><![CDATA[<p>今天在codeproject上看到这文章,pow函数的不E_Q我顺手试了试Q结果还真是的~Q道理我q没扑ֈQ只是以后小心这LQ?br><a >http://www.codeproject.com/KB/debug/powproblem.aspx</a><br><br>我试验的截图</p> <p><img height=273 alt="" src="http://www.shnenglu.com/images/cppblog_com/amyvmiwei/pow1.JPG" width=520 border=0></p> <p><img height=352 alt="" src="http://www.shnenglu.com/images/cppblog_com/amyvmiwei/pow2.JPG" width=640 border=0><br>~</p> <img src ="http://www.shnenglu.com/amyvmiwei/aggbug/67929.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/amyvmiwei/" target="_blank">MiweiDev</a> 2008-11-26 20:58 <a href="http://www.shnenglu.com/amyvmiwei/archive/2008/11/26/67929.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>~译CEGUI的ȝQ?/title><link>http://www.shnenglu.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.shnenglu.com/amyvmiwei/archive/2008/11/23/67664.html</guid><wfw:comment>http://www.shnenglu.com/amyvmiwei/comments/67664.html</wfw:comment><comments>http://www.shnenglu.com/amyvmiwei/archive/2008/11/23/67664.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.shnenglu.com/amyvmiwei/comments/commentRss/67664.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/amyvmiwei/services/trackbacks/67664.html</trackback:ping><description><![CDATA[<p>      最q打研ICEGUIQ但是打开看就是没有solution,一开始的我就没顾着看什么文件就直接创徏自己的工E?**.sln然后吧include,src,dq来~一~译Q肏---错误很多Q什么头文gQ什么lib没找到。。一看心凉了,不得看了,挨着在添dependencies里面的include,lib|上狂搜索然后添加之Q不料还是没解决Q也是到<span>_FT_Init_FreeType __imp__FT_Init_FreeType。。。。等的连接错误~~然后在|上四处讨教Q最好碰?#8220;七星重剑”的留a_自己摸烦能学到很多东西,于是又捡v以前的工E来研究..<br>       记得以前玩过freetype的东西,所以我知道q些都是freetype的lib问题Q我打开以前的东东,扑ֈ以前freetype的lib,直接?pragma comment(lib, ''../../../bin/freetype.lib')来连接,OK的差不多了~~</span></p> 如果  出现“****内部~译器错?#8221; 双击在文件第一行,解决Ҏ?Q设|:不用预~译头文Ӟ<br><br>      今天在网上看Cq接Q貌似可以看看~   用他的方法,和我自己的方式遇到差不多的问题~~以前的教训(是上面Q,解决了~<br>他的|址?a >http://www.cnblogs.com/xfxsworld/archive/2007/11/24/962532.html</a>  Q小)Q很详细?br><br><br><br><strong><font face="Courier New" size=5>vs2005环境下CELayoutEditor源码~译详细步骤<br><br></font></strong>今天初试了一下CEGUI的官方编辑器——CELayoutEditorQ其q程真可?#8220;饱受挫折”<img height=20 alt="" src="http://www.cnitblog.com/Emoticons/QQ/13.gif" width=20 border=0>。现要写下其源码的编译过E,已可能会用到的朋友走些弯?br><br>1.    要编译CELayoutEditorQ自焉要先~译CEGUI的东东,?U选择Q?br>        1.1 安装SDKQ这是下载地址Q?a ><font color=#1d58d1>http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-SDK-0.5.0b-vc8.exe</font></a>Q不qƈ不推荐这U方法,因ؓSDK里的debug版dllg有问题。。?br>        1.2 ~译其源代码。下载地址Q?a ><font color=#1d58d1>http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-0.5.0b.zip</font></a>Q另外还需要下载依赖文件包dependencies package Q下载地址是:<a ><font color=#1d58d1>http://jaist.dl.sourceforge.net/sourceforge/crayzedsgui/CEGUI-DEPS-0.5.0b-vc8.zip</font></a>Q然后将依赖文g解压q源代码文g夹就OK了?br>                  1.2.1   先别急着找solutionQ有个地斚w要注意。CEGUI默认的是OPENGL渲染Q如果是用D3D的话q得改一个地斏V进..\makefiles\premake文gҎ到config.lua文gQ记事本打开。改?#8220;OPENGL_RENDERER = falseQDIRECTX9_RENDERER = true”Q保存就可以了。CELayoutEditor是用OPENGL的,所以这里不做Q何改动?br>                  1.2.2    q行build_vs2005.bat文gQ执行完毕后会生成CEGUI.sln文gQ打开可直接~译?br>         1.3   建立环境变量Q我的电脑\属性\高\环境变量Q然后在上面的用户变量区新徏一个,变量名是CEGUIQ变量值是CEGUI的解压目录。注意这步不能省<br><br><br>2    ׃CELayoutEditor使用了wxWidgetsQ所以在~译CELayoutEditor之前q需要下载wxWidgets。目前最新版本是2.86Q进入官方下载网?a ><font color=#1d58d1>http://www.wxwidgets.org/downloads/</font></a> 选择WxAll下蝲?br>        2.1 建立环境变量Q我的电脑\属性\高\环境变量Q然后在上面的用户变量区新徏一个,变量名是WXWIDGETSQ变量值是wxWidgets的解压目录?br>        2.2  qwxWidgets的解压目录找?font size=2>wx.dswQ打开?#8220;Yes To All”转换。{换完毕后先别~译Q还需要改下。因?font size=3>wxWidgets默认q不是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 $(WXWIDGETS)\include\wx\msw\setup.h and replace <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: <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"> wxUSE_GLCANVAS 0  </span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>WITH Code: <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"> wxUSE_GLCANVAS 1 </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"> Open $(WXWIDGETS)\include\wx\univ\setup.h and replace <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: <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"> defined(__WIN32__) </span><span style="COLOR: #000000"><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"> wxUSE_GLCANVAS 1 </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">    <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"> wxUSE_GLCANVAS 0 </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 <br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top>Code: <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"> wxUSE_GLCANVAS 1 </span><span style="COLOR: #000000"><br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span></div> <p><br>           2.3    现在可以开始编译了。注意要选择“Unicode Debug”?#8220;'Unicode Release”方式<br><br>3          下蝲CELayoutEditor。我是用SVN接的Q地址?<a class=postlink target=_blank><font color=#006699>https://crayzedsgui.svn.sourceforge.net/svnroot/crayzedsgui/CELayoutEditor/trunk</font></a><br>            3.1    解压后打开工程Q将Include和Lib路径Ҏ自己的,其他的不用改<br>            3.2    建立环境变量Q我的电脑\属性\高\环境变量Q然后在上面的用户变量区新徏一个,变量名是CE_LAYOUT_EDITOR Q变量值是CELayoutEditor的解压目录。注意这步不能省<br>            3.3    l于可以开始编译了。。?img height=20 alt="" src="http://www.cnitblog.com/Emoticons/QQ/11.gif" width=20 border=0><br><br>4          <br>            4.1    ~译会出C个错误,暂时我还没找到解x法,仅仅是给错误的地Ҏ释掉了。。。然后就~译成功?br>            4.2    拷一些东西过?/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 $(CE_LAYOUT_EDITOR)\bin\debug (Debug configuration) <br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> CEGUIBase_d.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"> CEGUIExpatParser_d.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"> CEGUIFalagardWRBase_d.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"> CEGUISILLYImageCodec_d.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"> CEGUITGAImageCodec_d.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"> OpenGLGUIRenderer_d.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"> 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 $(CE_LAYOUT_EDITOR)\bin\release (Release configuration) <br><img alt="" src="http://www.cnitblog.com/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"> CEGUIBase.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"> CEGUIExpatParser.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"> CEGUIFalagardWRBase.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"> CEGUISILLYImageCodec.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"> CEGUITGAImageCodec.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"> 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"> SILLY.dll</span></div> <p>           4.3 SILLY.dll和SILLY_d.dll在依赖文件夹?br><br>OK。。。到q里完了,虽然q个工具的bug很多Q不q不怕,~译它就是ؓ了要攚w它Q呵c希望此文对你有所帮助<img height=20 alt="" src="http://www.cnitblog.com/Emoticons/QQ/13.gif" width=20 border=0><br></p> </font> <img src ="http://www.shnenglu.com/amyvmiwei/aggbug/67664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/amyvmiwei/" target="_blank">MiweiDev</a> 2008-11-23 15:40 <a href="http://www.shnenglu.com/amyvmiwei/archive/2008/11/23/67664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Z么在MFC中的单文下用D3Dd坐标不对盘!http://www.shnenglu.com/amyvmiwei/archive/2008/09/16/61989.htmlMiweiDevMiweiDevTue, 16 Sep 2008 08:49:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2008/09/16/61989.htmlhttp://www.shnenglu.com/amyvmiwei/comments/61989.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2008/09/16/61989.html#Feedback3http://www.shnenglu.com/amyvmiwei/comments/commentRss/61989.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/61989.html阅读全文

MiweiDev 2008-09-16 16:49 发表评论
]]>
VC 中获得当前本机的旉Ҏhttp://www.shnenglu.com/amyvmiwei/archive/2008/07/05/55412.htmlMiweiDevMiweiDevSat, 05 Jul 2008 10:32:00 GMThttp://www.shnenglu.com/amyvmiwei/archive/2008/07/05/55412.htmlhttp://www.shnenglu.com/amyvmiwei/comments/55412.htmlhttp://www.shnenglu.com/amyvmiwei/archive/2008/07/05/55412.html#Feedback1http://www.shnenglu.com/amyvmiwei/comments/commentRss/55412.htmlhttp://www.shnenglu.com/amyvmiwei/services/trackbacks/55412.html//Ҏ?优点Q仅使用C标准库;~点Q只能精到U

#include <time.h>

#include <stdio.h>

int main( void )

{

time_t t = time( 0 );

char tmp[64];

strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年W?j?%z",

localtime(&t) );

puts( tmp );

return 0;

}

 

//Ҏ?优点Q能_到毫UQ缺点:使用了windows API

#include <windows.h>

#include <stdio.h>

int main( void )

{

SYSTEMTIME sys;

GetLocalTime( &sys );

printf( "%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\n"

,sys.wYear,sys.wMonth,sys.wDay

,sys.wHour,sys.wMinute,sys.wSecond,sys.wMilliseconds

,sys.wDayOfWeek);

 

return 0;
}

//Ҏ?优点Q利用系l函?br>#include<stdlib.h>
#include<iostream>
using namespace std;
void main(){
system("time");
}
可以改变电脑的时间设?

Ҏ4Q?br>#include<iostream>
#include<ctime>
using namespace std;
int main(){
time_t now_time;
now_time = time(NULL);
cout<<now_time;
return 0;
}
当前时间折ؓUQ再通过相应的时间换即可?br>
Ҏ5
//////////////////////////////////////////////////////////////////////////////////////////////
void main() {   
    LARGE_INTEGER lv;

    // 获取每秒多少CPU Performance Tick
    QueryPerformanceFrequency( &lv );

    // 转换为每个Tick多少U?br>    double secondsPerTick = 1.0 / lv.QuadPart;
   
    for ( size_t i = 0; i < 100; ++i ) {
        // 获取CPUq行到现在的Tick?br>        QueryPerformanceCounter( &lv );

        // 计算CPUq行到现在的旉
        // 比GetTickCount和timeGetTime更加_
        double timeElapsedTotal = secondsPerTick * lv.QuadPart;
       
        cout.precision( 6 );
        cout << fixed << showpoint << timeElapsedTotal << endl;
        //printf( "%lf \n", timeElapsedTotal ) ;
    }
}



MiweiDev 2008-07-05 18:32 发表评论
]]>
ٸ߳ҽоþþþþ| þ㽶߿ۿè?v| ƷһþþƷ| ۲˾þþƷٸAV| һɫþۺ޾Ʒ| þù޾Ʒ| avþþƷ| þþþþþƷþþþ| Ʒݾþþþø| ۺϾþһ| þùAVJUST鶹| Ļɫ͵͵þ| þþwww| avþþþòվ| 99ƷȾþ޶| þþþþþۺ| þþƷ91þ鶹| þþƷ99͵| þþþùһ| ۺϾþһ| þĻƷѩ| þAV| ھƷþþþþþӰ鶹 | ޳˾þ| þ޾Ʒ벥| ͵þþþƷר| þþƷƷ޾Ʒ| þþþ޾Ʒַ | Ƶþ| ˾ƷۺϾþþþ | þĻԴվ| þþþ߽ۺϳ| 99þþùƷ޿| þþƷƷ޾Ʒ| þùŷպƷ| 69Ʒþþþ9999| Ʒþˬ| ŷþþþ| þۺϺݺۺϾþۺ88| þùƵ99Ӱ| þ99ڹ|