Time of Update: 2018-12-03
大家知道,函數的線程函數必須是靜態函數,以標準的__cdecl的方式調用的,而C++的成員函數是以__thiscall的方式調用的,相當於一個普通函數有一個預設的const ClassType* this參數。 為資料封裝的需要,我常常把線程函數封裝在一個類的內部,定義一個類的私人靜態成員函數來作為CreateThread的線程函數,通常如下:class MyClass{public: MyClass(); ~MyClass(); static DWORD WINAPI
Time of Update: 2018-12-03
Unicode :寬位元組字元集 1. 如何取得一個既包含單位元組字元又包含雙位元組字元的字串的字元個數? 可以調用Microsoft Visual C++的運行期庫包含函數_mbslen來操作多位元組(既包括單位元組也包括雙位元組)字串。 調用strlen函數,無法真正瞭解字串中究竟有多少字元,它只能告訴你到達結尾的0之前有多少個位元組。 2. 如何對DBCS(雙位元組字元集)字串進行操作? 函數 描述
Time of Update: 2018-12-03
class buffer_stream{public: unsigned char * buf; int len; buffer_stream(unsigned char * buf_in,int len_in) { buf= new unsigned char [len_in]; memcpy(buf,buf_in,len_in); len=len_in; //cout << "buffer_stream buf="<<
Time of Update: 2018-12-03
9000嵌入式主板、EM9260嵌入式主板、EM9160嵌入式主板都是預裝了正版WinCE操作系 統,ARM9嵌入式主板的所有通訊介面均配置有標準的WinCE驅動程式,本文側重於介紹嵌入式主板中通訊串口的一種典型應用,即如何在這些嵌入式主板上 進行GPRS的應用開發。 GPRS的標準應用程式模式是作為用戶端模式,通過撥號“*99***1#”到中國移動的GPRS節點 伺服器,從而實現撥接的功能。在WinCE作業系統中提供有RAS(Remote Access
Time of Update: 2018-12-03
1.=,==分不清楚,多半是都寫為=;2.迴圈中忘記加減變數使得出現死迴圈。3.啟動並執行代碼和所寫的代碼並不是同一份代碼。4.if不加括弧只能有一句包含在if裡。5.忘記c與c++的區別。以後再補充。。。===============如果一個系統原來運行沒有問題,加了一些功能後出現了問題,則首先應對所加代碼進行單元分析,沒有找出問題的話再分析所加代碼和原有代碼的相關性。
Time of Update: 2018-12-03
把之前用VC6寫的MFC工程升級到VC2005後,編譯運行就崩潰,莫名其妙,問了ZV說是經常出現這種問題,要重建立立個工程拖代碼才行,那好吧,就重來,折騰了好久,還是……又崩潰了……這下頭大了,同樣的代碼,VC6裡正常,VC2005反而崩潰?嘗試關閉串連的多種選項,除了出現莫名其妙的LNK
Time of Update: 2018-12-03
最常見的程式崩潰是記憶體訪問越界,無效指標等。這種情況在debug版下較好定位。最近有個多模組的應用,程式崩潰但卻一時找不出原因。最後發現,是模組A和模組B都包含了標頭檔i.h,但工程下卻有兩份i.h(經理這麼弄的,的確不利於管理),某人改寫了其中一份i.h,卻沒有改另外一份i.h,在一個class裡加了一些變數,這時候兩個模組都能編譯串連通過,但是程式一運行就崩潰。結論,一個項目裡所包含的標頭檔一定只要一份。然後各個模組都引用同一份檔案,以利於變更,閱讀等。
Time of Update: 2018-12-03
Strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "class CFactoryTemplate * g_Templates" (?g_Templates@@3PAVCFactoryTemplate@@A)Strmbasd.lib(dllentry.obj) : error LNK2001: unresolved external symbol "int g_cTemplates"
Time of Update: 2018-12-03
代碼複用的常見方式有原始碼複用、DLL和COM一、原始碼複用 把別人的源檔案直接加入到自己的工程中編譯、串連,最後產生exe檔案。這種代碼級的複用方式存以下的問題:1、一種語言編寫的原始碼只能被同一種語言所使用。如你用VC寫的代碼肯定不能在VB中直接使用,只能在其它VC工程中使用。2、程式員通常需要修改別人提供的代碼,但修改的前提是必須理解代碼提供者的思路和編碼風格,這是很費事的。3、原始碼複用導致了硬碟和記憶體空間的浪費
Time of Update: 2018-12-03
<reference to xda> C:/itsutils>pdocread.exe -lCopying C:/itsutils/itsutils.dll to WCE:/windows/itsutils.dllCould not update itsutils.dll to the current version, maybe it is inuse?try restarting your device, or restart ActiveSync You have
Time of Update: 2018-12-03
《wince擷取當前路徑》在wince開發中,若要擷取程式的當前路徑,方法如下:m_CurrentPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);Directory.GetCurrentDirectory 方法在 .NET Compact Framework 中可用,但是當前並不支援,調用該方法會拋出一個 NotSupportedException 異常。在 Windows CE
Time of Update: 2018-12-03
今天偶然看到一道華為筆試題void main(){char *p;*p=-130;printf("%d",*p);}乍一看我認為輸出就是-130,可是正確答案是126.汗我差的太多了,分析下是怎麼回事吧,原因:-130在電腦裡的二進位儲存形式是11111111,負數是用補碼的形式表示的,130補碼為01111110,因為C裡面的CHAR是8位的,正好沒超過8位,01111110的十進位就是126.複習下補碼假設有一個 int 類型的數,值為5,那麼,我們知道它在電腦中表示為:00000000 0
Time of Update: 2018-12-03
關於Mobile的全屏實現的一點心得在做了幾個項目之後,終於找到了一個比較好的實現全屏的方法,之前做全屏的時候,在網上找了很多的實現方法,總結了下大致就2種(其他的大同小異):1、 SetForegroundWindow(); SHFullScreen(m_hWnd, SHFS_HIDESIPBUTTON); SHFullScreen(m_hWnd, SHFS_HIDETASKBAR); SHFullScreen(m_hWnd,
Time of Update: 2018-12-03
vc用gethostbyname解析網域名稱源碼在後面,本源碼用到了MFC,需要匯入#include "winsock2.h"標頭檔,需要匯入ws2_32.lib ,可將本代碼加以修改,做成其它應用.源碼如下:int status; WSADATA WSAData; char szTemp1[80]; struct in_addr addr; if ((status = WSAStartup(MAKEWORD(1,1), &WSAData)) ==
Time of Update: 2018-12-03
屬性工作表具有標準對話方塊所沒有的功能:允許使用者在關閉屬性工作表之前應用所做的更改。這通過“應用”按鈕實現。本文討論可用來正確實現該功能的方法。有強制回應對話方塊通常在使用者單擊“確定”按鈕關閉對話方塊時將設定應用到外部對象。屬性工作表也是如此:當使用者單擊“確定”按鈕時,屬性工作表中的新設定生效。但是,您也許想允許使用者在不必關閉屬性工作表對話方塊的情況下儲存設定。這就是“應用”按鈕的功能。“應用”按鈕將所有屬性頁面中的當前設定都應用到外部對象,而不是僅將當前活動頁的當前設定應用到外部對象。
Time of Update: 2018-12-03
1.在建構函式中建立字型:view plaincopy to clipboardprint?m_fontDlg.CreatePointFont(120, _T("黑體")); //CFont m_fontDlg;m_fontDlg.CreatePointFont(120, _T("黑體")); 2.在解構函式中刪除字型:view plaincopy to clipboardprint?m_fontBig.DeleteObject(); m_fontBig.DeleteObject(); 3
Time of Update: 2018-12-03
因為類的靜態成員變數是所有執行個體共用的.所以得在類外初始化.調用的時候可以通過對象調用,也可以通過類直接調用class A{public: int i; //有預設值};class B{public: static int n; static A Aobj;};int B::n = 1; //靜態成員變數的初始化A B::Aobj; //靜態成員變數的初始化(執行個體化)void main(){ B Bobj; printf("B::n=%
Time of Update: 2018-12-03
vxHpc High Performance Serial and Telnet Communications Software vxHpcPlus Serial, Telnet, SSH Plus Advanced Terminal Emulation Software pkHpc Windows Mobile to Data General, Hewlett-Packard, Pick, Stratus and Unix MediHPC Windows Mobile to Meditech
Time of Update: 2018-12-03
From :http://wiki.wireshark.org/CaptureSetup/Loopback @++++++++++++++++++++++++++++++++++Alternatives A commercial network sniffer called CommView (from TamoSoft) allows to capture packets on the localhost network adapter but it dissects fewer
Time of Update: 2018-12-03
原理: 在WM_HITTEST對應的訊息處理函數OnNcHitTest中直接返回TRUE, 或者返回客戶區的值HTCLIENT,欺騙系統我點的位置是客戶區,客戶區預設是不能拖動動話框的例子:UINT CMyDlg::OnNcHitTest(CPoint point) { // TODO: Add your message handler code here and/or call default return HTCLIENT;//return