• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 2, 文章 - 1, 評論 - 41, 引用 - 0
            數據加載中……
            Python不慢,我們的已經運營的游戲項目就是用Python做的腳本,上層所有邏輯全部都是Python寫的,不管是服務端還是客戶端。
            我個人還是更喜歡簡潔的LUA。
            樓主難道就不知道C++類構造函數不要隨便使用memset去初始化對象嗎?一切問題都是你的memset引起的,跟string沒關系。
            我們的做法:
            做一個更新服務器,用來匹配資源版本號。
            客戶端每次登陸前都先連接更新服務器,如果發現有新的版本,則去文件服務器(http,ftp服務器)下載更新包。之后客戶端本地解壓打包就完成了更新。
            樓主認為peekmessage和OnIdle難道不是一樣的嗎?
            下線通知周圍玩家不應有是服務器的事情嗎?client無論什么方式下線(掉線,宕機....)服務器都應該檢測到。
            A*可以考慮用二叉堆來優化。
            re: 對string類的思考[未登錄] christanxw 2008-06-17 18:58
            類似于MFC CSting的內存結構
            3- 為了避免內存拷貝,可以嘗試關閉SOCKET的發送和接收緩沖區,不過代價是,你需要更多的接收請求POST到一個數據流量比較大的SOCKET,從而保證系統一直可以找到BUFFER來收取到來的數據.


            關閉SOCKET緩沖區一般并不能使性能得到提升。
            re: (C++)一個愚蠢的錯誤[未登錄] christanxw 2008-06-07 22:51
            樓上的,C++里結構就是類,而不是原生的C結構。用memset會把類里的一些必要數據也清零。比如如果類有虛函數,則就有虛表指針,你用memset會把虛函數表指針置為0,這樣你的類還有多態嗎,你的程序還是健壯的嗎
            突破select的FD_SETSIZE限制[未登錄] christanxw 2008-05-24 20:41
            多此一舉。直接重新定義FD_SETSIZE不就是了,何必搞這么復雜。
            多此一舉。直接重新FD_SETSIZE不就是了,何必搞這么復雜。
            re: 網絡編程 心得2[未登錄] christanxw 2008-04-25 08:57
            SO_DONTLINGER的設置將會使得未發送的系統緩沖區數據丟失。更好的還是設置為重用端口。
            只是主角移動而已,為什么要搬移對周圍的固定物件?
            re: 單鏈表逆序輸出[未登錄] christanxw 2008-04-18 23:43
            遞歸絕對是失敗的做法。
            本質原因是你在線程中使用了printf()這樣的非多線程安全的函數。你用它的多線程版本(/MTd或/MDd)就沒問題了,或者你在使用/MLd時對printf加鎖也不會出問題。
            re: 一個微秒級的定時函數 christanxw 2006-09-02 15:20
            Nt以上才支持
            為什么不用分布式編譯工具 Xoreax IncrediBuild?
            google一下就知道了。
            關于是用返回值還是異常一直都是個令人煩惱的話題。
            不過我認為自己開發的程序如果只是自己使用的話,用返回值是最好的(當然適當的加上日志記錄最好了)。因為你自己知道什么時候作錯誤處理。如果是開發庫給別人使用,用異常可能比較好,因為你不知道你的客戶該怎么去處理錯誤,所以應該把錯誤處理的主動權交給客戶。
            所有的游戲都是C/C++
            內存映射文件才是進程間共享的根本!
            re: std::string一個極其隱晦得問題 christanxw 2006-04-18 20:29
            Dll的出口函數最好是用標準的C類型。
            #include <windows.h>
            #include <cstdio>
            #include <iostream>

            unsigned long cryptTable[0x500];
            const int HASH = 0;
            const int HASH_A = 1;
            const int HASH_B = 2;

            void InitCryptTable()
            {
            unsigned long seed = 0x00100001, index1 = 0, index2 = 0, i;
            for(index1 = 0; index1 < 0x100; index1++)
            {
            for(index2 = index1, i = 0; i < 5; i++, index2 += 0x100)
            {
            unsigned long temp1, temp2;
            seed = (seed * 125 + 3) % 0x2AAAAB;
            temp1 = (seed & 0xFFFF) << 0x10;
            seed = (seed * 125 + 3) % 0x2AAAAB;
            temp2 = (seed & 0xFFFF);
            cryptTable[index2] = (temp1 | temp2);
            }
            }
            }

            unsigned long Hash(char *pStr, unsigned long dwHashType)
            {
            unsigned char *key = (unsigned char *)pStr;
            unsigned long seed1 = 0x7FED7FED, seed2 = 0xEEEEEEEE;
            int ch;

            while(*key != 0)
            {
            ch = toupper(*key++);

            seed1 = cryptTable[(dwHashType << 8) + ch] ^ (seed1 + seed2);
            seed2 = ch + seed1 + seed2 + (seed2 << 5) + 3;
            }
            return seed1;
            }

            struct HashItem
            {
            unsigned long m_nHashKeyA;
            unsigned long m_nHashKeyB;
            bool m_bExist;
            };

            int main()
            {
            __int64 t1, t2;
            GetSystemTimeAsFileTime( (LPFILETIME)&t1 );

            InitCryptTable();
            FILE* fread = fopen("c:\\email.txt","r");
            FILE* fwrite = fopen("c:\\emailnew.txt","w+");

            HashItem *hashTable = new HashItem[780000];

            char line[256] = "";
            fgets(line,255,fread);
            while(!feof(fread))
            {
            int nStart = Hash(line,HASH) % 780000;
            int nPos = nStart;
            if(!(hashTable[nPos].m_bExist
            && hashTable[nPos].m_nHashKeyA ==Hash(line,HASH_A)
            && hashTable[nPos].m_nHashKeyB == Hash(line,HASH_B)))
            {
            hashTable[nPos].m_nHashKeyA = Hash(line,HASH_A);
            hashTable[nPos].m_nHashKeyB = Hash(line,HASH_B);
            hashTable[nPos].m_bExist = true;
            fprintf(fwrite,"%s",line);
            }

            fgets(line,255,fread);
            }

            GetSystemTimeAsFileTime( (LPFILETIME)&t2 );
            printf( "經過了%I64d.%04I64d毫秒\n", (t2-t1)/10000, (t2-t1)%10000 );
            fclose(fread);
            fclose(fwrite);
            delete [] hashTable;

            std::cin.get();
            }

            耗時343毫秒。很不錯了。呵呵。Ptyong也是C寫出來的,C/C++效率是完全可以比Pyton更快的,就看怎么實現算法了。在總多的腳本語言中Python是比較慢的一個了。
            re: C++代碼靜態分析工具-Prefast christanxw 2006-03-28 18:32
            哪里可以下載?
            怎么不做個例子看看?
            同意一樓
            外加C++網絡編程,比如ACE
            re: C++的類型萃取技術 christanxw 2005-11-15 16:47
            《泛型編程與STL》及《STL中文版》中對類型萃取解釋的很好,摟主總結的不錯
            美文一篇!
            re: C++的靜態分派技術 christanxw 2005-11-15 16:36
            這在STL中有著廣泛的應用
            是很好的輔助工具,但裝了這個,同時打開VS和金山詞霸2005時,發現VS會自動被關閉,無意中發現的。
            re: 找一個工作好難 christanxw 2005-09-22 08:41
            游戲公司
            re: 簡單的變量交換 christanxw 2005-09-19 19:30
            這樣也可以:
            #include <iostream>
            using namespace std;

            int main()
            {
            int Number1 = 23;
            int Number2 = 33;

            cout<<Number1<<"\n"<<Number2<<endl;

            Number1 = Number1 + Number2;
            Number2 = Number1 - Number2;
            Number1 = Number1 - Number2;

            cout<<Number1<<"\n"<<Number2<<endl;

            return 0;
            }

            當然樓主的更猛,不會產生溢出,我這個方法可能產生溢出,呵呵_^_
            久久久免费精品re6| 国产毛片久久久久久国产毛片| 色综合合久久天天给综看| 亚洲天堂久久久| 中文精品99久久国产| 久久久精品人妻一区二区三区蜜桃 | 91久久精品视频| 亚洲精品综合久久| 精品国产福利久久久| 亚洲精品tv久久久久| A级毛片无码久久精品免费| 欧美黑人激情性久久| 亚洲伊人久久大香线蕉苏妲己| 亚洲精品美女久久久久99小说| 久久99热国产这有精品| 欧美国产成人久久精品| 国产午夜精品久久久久九九| av无码久久久久不卡免费网站| 久久免费99精品国产自在现线| 国产成人久久精品一区二区三区| 亚洲精品97久久中文字幕无码| 99久久精品久久久久久清纯| 久久久久久夜精品精品免费啦| 亚洲日韩欧美一区久久久久我 | 久久综合九色欧美综合狠狠 | 久久乐国产综合亚洲精品| 国产巨作麻豆欧美亚洲综合久久 | 久久综合久久综合久久| 国产精品一久久香蕉产线看| 狠狠色婷婷久久综合频道日韩 | 国产亚洲精久久久久久无码77777 国产亚洲精品久久久久秋霞 | 久久笫一福利免费导航 | 国产精品美女久久久免费| 日韩欧美亚洲综合久久影院d3| 久久精品天天中文字幕人妻 | 久久91精品国产91久久麻豆| 久久精品夜夜夜夜夜久久| 精品免费久久久久久久| 99精品久久精品| 亚洲欧美精品伊人久久| 国产精品九九久久免费视频 |