Win CE開(kāi)發(fā)特性及忠告
第三類(lèi)函數(shù)是Win32函數(shù)CompareString()。這個(gè)函數(shù)類(lèi)似于第二類(lèi)函數(shù),但是它允許你指定當(dāng)?shù)卦O(shè)置(the locale)作為一個(gè)參數(shù),而不是使用現(xiàn)有的當(dāng)?shù)卦O(shè)置(current locale settings)。CompareString()函數(shù)允許你選擇性地指定兩個(gè)字符串的長(zhǎng)度。你可以將第二個(gè)參數(shù)設(shè)置為NORM_IGNORECASE,從而使函數(shù)比較字符串時(shí)不比較大小寫(xiě)。
通常,即使不將第二個(gè)參數(shù)設(shè)置為NORM_IGNORECASE,CompareString()函數(shù)也不用來(lái)區(qū)分大小寫(xiě)。我們經(jīng)常用wcsncoll()函數(shù)來(lái)區(qū)分大小寫(xiě),除非使用當(dāng)?shù)氐淖址鸆(C locale)。所以,在我們的代碼中,不使用CompareString()函數(shù)來(lái)區(qū)分大小寫(xiě),而用wcsncoll()函數(shù)來(lái)區(qū)分大小寫(xiě)
不要使用相對(duì)路徑
與Windows NT不一樣,Windows CE沒(méi)有當(dāng)前目錄這個(gè)概念,因此,任何路徑只是相對(duì)于根目錄而言的。如果你的軟件給文件或目錄使用相對(duì)路徑,那么你很可能把它們移到別的地方了。例如,路徑.abc在Windows CE中被當(dāng)作abc看待。
移走了對(duì)calloc()和 time()函數(shù)的調(diào)用
C運(yùn)行庫(kù)中的calloc()函數(shù)不能使用,但是malloc()函數(shù)可以代替calloc()函數(shù)。并且不要忘記,calloc()函數(shù)初始化時(shí)分配的內(nèi)存為零,而malloc()函數(shù)不一樣。同樣,time()函數(shù)也不能使用,但你可以使用Win32函數(shù)GetSystemTime()函數(shù)代替time()函數(shù)。
經(jīng)過(guò)以上的警告后,你會(huì)高興地學(xué)習(xí)最后令你驚訝的兩點(diǎn)忠告。
不需要改變Win32 輸入/輸出(I/O)文件的調(diào)用
Win32的輸入輸出函數(shù),Windows CE也支持。允許你象訪問(wèn)Win32文件系統(tǒng)那樣訪問(wèn)對(duì)象。CreateFile()函數(shù)在Windows CE中不能辯認(rèn)標(biāo)志FILE_FLAG_RANDOM_ACCESS,但是這個(gè)標(biāo)志僅用作可選的磁盤(pán)訪問(wèn),并且不影響函數(shù)調(diào)用的功能。
不要擔(dān)心字節(jié)的狀態(tài)
當(dāng)我們把應(yīng)用程序?qū)懭隬indows CE時(shí),有了一個(gè)美好的發(fā)現(xiàn),那就是Windows CE的數(shù)字?jǐn)?shù)據(jù)類(lèi)型的字節(jié)狀態(tài)與Intel結(jié)構(gòu)的字節(jié)狀態(tài)一樣,在所有的處理器上,Windows CE均支持。
幾乎象所有的數(shù)據(jù)庫(kù)引擎一樣,Raima數(shù)據(jù)庫(kù)管理器在數(shù)據(jù)庫(kù)文件中以二進(jìn)制形式保存數(shù)字?jǐn)?shù)據(jù)。這就意味一個(gè)記錄無(wú)論何時(shí)寫(xiě)入數(shù)據(jù)庫(kù)或從數(shù)據(jù)庫(kù)讀出,均被當(dāng)作一系列的字節(jié)來(lái)處理,不管它域的內(nèi)容。只要數(shù)據(jù)庫(kù)文件不要傳給別的任何系統(tǒng),數(shù)字?jǐn)?shù)據(jù)的字節(jié)狀態(tài)問(wèn)題就解決了。如果數(shù)據(jù)庫(kù)文件被一個(gè)來(lái)自原始系統(tǒng)且?guī)в胁煌止?jié)狀態(tài)的處理器訪問(wèn),數(shù)字?jǐn)?shù)據(jù)將被誤解。
無(wú)論何時(shí),當(dāng)你在擁有不同處理器的機(jī)器上傳輸文件時(shí),就會(huì)出現(xiàn)這個(gè)問(wèn)題。在這個(gè)問(wèn)題上,值得高興的是所有類(lèi)型的處理器都使用相同的字節(jié)狀態(tài)。
在使用Windows CE時(shí),這些忠告應(yīng)該引起你足夠的重視,避免學(xué)習(xí)時(shí)走彎路。
評(píng)論