• <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>

            Error

            C++博客 首頁 新隨筆 聯系 聚合 管理
              217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

            #

            GDI對象都必須調用相應的方法進行銷毀。如下表

            GDI對象

            產生方法

            銷毀方法

            位圖(HBITMAP)

            CreateBitmap,CreateBitmapIndirect,

            CreateCompatibleBitmap,CreateDIBitmap,

            CreateDIBSection,CreateDiscardableBitmap

            DeleteObject

            畫刷(HBRUSH)

            CreateBrushIndirect,CreateDIBPatternBrush,

            CreateDIBPatternBrushPt,CreateHatchBrush,

            CreatePatternBrush,CreateSolidBrush

            DeleteObject

            設備上下文(HDC)

            CreateDC

            DeleteDC,ReleaseDC

            字體(HFONT)

            CreateFont,CreateFontIndirect

            DeleteObject

            內存DC(HDC)

            CreateCompatibleDC

            DeleteDC

            調色板(HPALETTE)

            CreatePalette

            DeleteObject

            畫筆(HPEN)

            CreatePen,CreatePenIndirect

            DeleteObject

            區域(HRGN)

            CombineRgn,CreateEllipticRgn,

            CreateEllipticRgnIndirect,CreatePolygonRgn,

            CreatePolyPolygonRgn,CreateRectRgn,

            CreateRectRgnIndirect,CreateRoundRectRgn,

            DeleteObject


            posted @ 2015-01-16 11:51 Enic 閱讀(263) | 評論 (0)編輯 收藏

            VC編譯選項為Release,但是_DEBUG宏一直設置為1


            檢測了代碼沒有問題
            第一次是直接該工程文件搞定的,后來找了下原因:C++運行庫選擇了調試庫,,,坑爹的,,,
            posted @ 2015-01-15 12:55 Enic 閱讀(318) | 評論 (0)編輯 收藏

            mysql居然只能在存儲過程中使用declare定義變量,DECLARE CONTINUE HANDLER FOR SQLEXCEPTION也只能在存儲過程中用?
            begin TRANSACTION
            SET XACT_ABORT on  --sql異常事物自動回歸
            --mysql中等價的語句: declare continue handler for sqlexception begin rollback; end;
            --0 金幣
            IF(1 = @ItemId)
            BEGIN
            update QPTreasureDB.dbo.GameScoreInfo SET Score = Score + @ItemCount WHERE UserID = @UserId;
            END
            --test
            INSERT INTO QPAccountsDB.dbo.AccountsInfo(UserId) VALUES(1);
            COMMIT TRANSACTION 
            CREATE DEFINER=`root`@`localhost` PROCEDURE `SP_Test`()
            BEGIN
            DECLARE CONTINUE HANDLER FOR SQLEXCEPTION
            SELECT 'SQLEXCEPTION handler was activated' AS msg;
            BEGIN -- inner block
                DECLARE CONTINUE HANDLER FOR SQLSTATE '42S02'
            SELECT 'SQLSTATE handler was activated' AS msg;
            END;
              
            select * from test_table;
            END
            posted @ 2015-01-12 10:05 Enic 閱讀(530) | 評論 (0)編輯 收藏

            Apache配置多站點后:連接失敗 You don't have permission to access 
            連接失敗是應為沒有在全局配置中添加監聽端口
            You don't have permission to access 是應為在全局配置的"/"目錄權限問題
            Listen 81
            <VirtualHost *:81>
              ServerName Test
              Options All ExecCGI FollowSymLinks Includes IncludesNOEXEC Indexes MultiViews SymLinksIfOwnerMatch
              DirectoryIndex index.html index.htm index.php index.php3 index.php4 index.phtml index.shtml index.shtm
              DocumentRoot "E:/enic/MoleWeb/"
                <Directory "E:/enic/MoleWeb/">
                    Options Indexes FollowSymLinks ExecCGI
                    Order Deny,allow
                    Allow from all
                </Directory>
            </VirtualHost>
            <Directory "/">
              # explicitly permit access to web content directories in other
              # <Directory> blocks below.
              AllowOverride None
              #Require all denied
            </Directory>
            posted @ 2015-01-08 17:46 Enic 閱讀(250) | 評論 (1)編輯 收藏

            XAMPP Apache 443端口占用的解決方案:
            現象:啟動Apache服務時提示433端口被占用
            結果過程:
            操作1:修改http-ssl.con和httpd.conf中443端口到8443
            結果1:無效,任然提示443端口占用打不開
            分析1:可能改錯了位置,或者有其他位置配置了
            操作2:修改XAMPP根目錄下的“properties.ini xampp-control.ini”中配置的ssl端口433到8443
            結果2:無效,而且重啟XAMPP后這一次修改的端口還被XAMPP改回443了
            分析2:尼瑪,應該是別的位置改,或者不會是寫死了的吧,,,
            操作3:
              1.從XAMPP主面板[Config]進入[Configuration of Control Panel]。
              2.從[Service and Port Settings]進入[Service Settings]可以看到真相再此了
              3.修改[Service Settings]上的SSL Port端口到8433
            結果3:Apache起來了
            分析3:以后高明白之前勁量少手動修改配置文件
            posted @ 2015-01-08 16:04 Enic 閱讀(299) | 評論 (0)編輯 收藏

            說明:此問題只出現在cocos2d-x 3.0和3.1.0版本上,3.1.1已經將此bug修復 
                     不知為何,看了代碼,appActivity.jave 繼承了Cocos2dxActivity.java在OnCreatView()函數中,新創建了一個view,在init中新創建的view調用了 
                     this.mGLSurfaceView.setEGLConfigChooser(8 , 8, 8, 8, 16, 0);  
                     似乎重置了參數,所以我們在AppActivity.java 中重構public Cocos2dxGLSurfaceView onCreateView()函數 
                     改寫為 
                     public Cocos2dxGLSurfaceView onCreateView(){ Cocos2dxGLSurfaceView glSurfaceView = new Cocos2dxGLSurfaceView(this); glSurfaceView.setEGLConfigChooser(5, 6, 5, 0, 16, 8);  return glSurfaceView; } 


            int Application::runEx()
            {
            PVRFrameEnableControlWindow(false);
            // Main message loop:
            LARGE_INTEGER nFreq;
            QueryPerformanceFrequency(&nFreq);
            QueryPerformanceCounter(&_nLast);
            initGLContextAttrs();
            posted @ 2014-12-16 23:42 Enic 閱讀(301) | 評論 (0)編輯 收藏

            Windows下使用VS2008編譯時經常遇到macro redefinition警告或錯誤,如:

             

             

            c:\programme\microsoft sdks\windows\v6.0a\include\ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition

             

             

            解決方法:打開編譯選項 /showIncludes

            Use the compiler option /showIncludes to find out how they are getting included.

             

            看程序直接或者間接Include了哪些頭文件,通過調整頭文件順序等辦法解決。

            posted @ 2014-12-10 15:23 Enic 閱讀(3148) | 評論 (0)編輯 收藏

            一:ttf不顯示的bug,難搞,一點頭緒都沒有,只知道別人電腦上能顯示,到我這就不行了。其實迅雷的客戶端在我的電腦上顯示的也不正常。后來發現居然是桌面設置的問題,之前設置的16位,實際上設置32位真彩圖就一點問題也沒有了。
            網上找了下,按照下面的修改,即時設置是16位也能正常了。
            一句話描述就是:cocos2dx使用的是32位的幀緩存,創建bitmap的時候使用的dc不是,創建dib的時候也沒有設置32位,所以就亂碼了。

            修改 win32/ccimage.cpp 文件
            1.
            m_hBmp = CreateBitmap(nWidth, nHeight, 1, 32, NULL);
            改成 :
            m_hBmp = CreateCompatibleBitmap(m_hDC, nWidth, nHeight);

            2.
            填加
            bi.bmiHeader.biBitCount = 32;搜索
            在下面這句話之前
            GetDIBits(dc.getDC(), dc.getBitmap(), 0, m_nHeight, m_pData, (LPBITMAPINFO)&bi, DIB_RGB_COLORS);
            完美解決





            二:無法在xp上運行,現象是先提示什么 無法定位GetTickCount64于Kernel32.dll,然后又無法定位inet_ntop于Kernel32.dll
            起初懷疑是控制幀率或者定時器的時候使用了GetTickCount64,后來看了下,用的是多媒體高精度定時器那一套,然后有嘗試使用windbg下api斷點,也沒斷到。
            在然后老老實實一個dll 一個dll的去看導入函數列表,后來發現是libwebsocket.dll使用了GetTickCount64,從官網重新搞一個回來自己編譯。
            接下來提示inet_ntop了,思維局限倒是我還以為是在websocket上除了問題,但是實際上最后找到的是在libcocos2dx里邊用到了這個函數,所以,還是要有全局意識,不能自己鉆到角落里邊去了,盯著一個點不放。
            if (!WSAAddressToStringA((struct sockaddr*)&sin->sin6_addr, sizeof(sin->sin6_addr), 0, buf, &nLen))
               cocos2d::log("Console: listening on %s : %d", buf, ntohs(sin->sin6_port));
            //if( inet_ntop(res->ai_family, &sin->sin6_addr, buf, sizeof(buf)) != nullptr )
            // cocos2d::log("Console: listening on %s : %d", buf, ntohs(sin->sin6_port));



            posted @ 2014-12-08 19:26 Enic 閱讀(376) | 評論 (0)編輯 收藏

            WinDBG 提供了多種設斷點的命令:bp, bu, bm, ba
            bp 命令是在某個地址下斷點, 可以 bp 0x7783FEB 也可以 bp MyApp!SomeFunction 。 對于后者,WinDBG 會自動找到MyApp!SomeFunction 對應的地址并設置斷點。 但是使用bp的問題在于:1)當代碼修改之后,函數地址改變,該斷點仍然保持在相同位置,不一定繼續有效; 2)WinDBG 不會把bp斷點保存工作空間中 。  所以,我比較喜歡用bu 命令。
            bu 命令是針對某個符號下斷點。 比如 bu MyApp!SomeFunction 。 在代碼被修改之后, 該斷點可以隨著函數地址改變而自動更新到最新位置。  而且bu 斷點會保存在WinDbg工作空間中, 下次啟動 Windbg 的時候該斷點會自動設置上去。
            另外,在模塊沒有被加載的時候,bp 斷點會失敗(因為函數地址不存在),而bu 斷點則可以成功。 新版的WinDBG中 bp失敗后會自動被轉成bu 。
            bm 命令也是針對符號下斷點。 但是它支持匹配表達式。 很多時候你下好幾個斷點。 比如,把MyClass 所有的成員函數都下斷點: bu MyApp!MyClass::* , 或者把所有以CreateWindow開頭的函數都下斷點: bu user32!CreateWindow* 。
            以上三個命令是對代碼下斷點, 我們還可以對數據下斷點。
            ba 命令就是針對數據下斷點的命令, 該斷點在指定內存被訪問時觸發。 命令格式為
            ba Access Size [地址]
            Access 是訪問的方式, 比如 e (執行), r (讀/寫), w (寫)
            Size 是監控訪問的位置的大小,以字節為單位。 值為 1、2或4,還可以是 8(64位機)。
            比如要對內存0x0483DFE進行寫操作的時候下斷點,可以用命令 ba w4 0x0483DFE
            這里順便提以下其他斷點命令:
            bl  列出所有斷點
            bc  清除斷點
            bd 禁用斷點
            be 啟動被bd 命令經用的斷點
            posted @ 2014-12-01 09:40 Enic 閱讀(301) | 評論 (0)編輯 收藏

            PUD
            APDU ApplicationProtocolDataUnit )是指對等層次之間傳遞的數據單位。協議數據單元(ProtocolDataUnit)物理層的PDU是數據位(bit),數據鏈路層的PDU是數據幀(frame),網絡層的PDU是數據包(packet),傳輸層的PDU是數據段(segment),其他更高層次的PDU是數據(data)。   
             
            在分層網絡結構,例如在開放式系統互聯(OSI)模型中,在傳輸系統的每一層都將建立協議數據單元(PDU)的一點是,每一層附加到PDU上的信息,是指定給另一個系統的同等層的。這就是對等層如何進行一次通信會話協調的。
             
            posted @ 2014-11-30 21:56 Enic 閱讀(103) | 評論 (0)編輯 收藏

            僅列出標題
            共22頁: First 4 5 6 7 8 9 10 11 12 Last 
            久久久91精品国产一区二区三区| 久久国产乱子伦精品免费强| 久久国产高清字幕中文| 国产 亚洲 欧美 另类 久久| 欧美麻豆久久久久久中文| 久久综合久久美利坚合众国| 国产精品一久久香蕉产线看| 亚洲另类欧美综合久久图片区| 天堂久久天堂AV色综合| 国产日韩久久久精品影院首页| 久久强奷乱码老熟女网站| 亚洲国产精品久久66| 亚洲精品高清国产一线久久| 久久精品成人欧美大片| 91精品国产综合久久久久久| 久久久久亚洲AV片无码下载蜜桃| 亚洲国产精品一区二区久久| 久久ZYZ资源站无码中文动漫| 欧美久久一级内射wwwwww.| 91精品国产综合久久香蕉| 婷婷伊人久久大香线蕉AV| 久久婷婷五月综合97色直播| 久久久久亚洲AV无码专区网站| 97久久精品午夜一区二区| 色欲久久久天天天综合网| 狠狠色丁香婷婷久久综合五月| 91久久精品国产91性色也| 国产精品久久网| 久久国产精品99久久久久久老狼| 色婷婷综合久久久久中文| 久久精品国产99国产精品亚洲| 欧美激情一区二区久久久| 亚洲国产成人久久综合一区77| 久久国产福利免费| 香港aa三级久久三级老师2021国产三级精品三级在 | 久久久91人妻无码精品蜜桃HD| 国产成人久久激情91| 国产精品久久国产精品99盘| 久久精品无码一区二区三区| 亚洲国产精品热久久| 久久久国产精华液|