日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

_WIN32_WCE有什么用

發(fā)布時(shí)間:2023/12/2 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 _WIN32_WCE有什么用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載自:http://blog.csdn.net/thanklife/article/details/21477561

_WIN32_WCE有什么用,我這里找了一些人的回應(yīng)。由于目前我手頭的源碼有限,還沒(méi)有找到定義之處。先這樣保留著這個(gè)問(wèn)題吧。以下是一些別人給的認(rèn)識(shí)。

?

?

經(jīng)常看到?#ifndef?_WIN32_WCE
這是什么意思?

我想是這是提示編譯器按WINCE系統(tǒng)的接口進(jìn)行編譯


WinCE程序在臺(tái)式機(jī)的模擬器環(huán)境下運(yùn)行的編譯選項(xiàng)

?

?

WIN32_WCE的意義

_WIN32_WCE表示是否是windows ce環(huán)境

當(dāng)前樓主肯定是編譯的不是windows ce環(huán)境,所以就沒(méi)有_WIN32_WCE定義。

?

?

關(guān)于wince版本的支持——_WIN32_WCE來(lái)做判斷?

其實(shí)這玩意就是用來(lái)區(qū)分系統(tǒng)對(duì)某些函數(shù)的支持的。

但是我S5pv210的程序放到S3c2440 上就有問(wèn)題了,

#if _WIN32_WCE >=600

?hr =CeOpenCallerBuffer((PVOID*)&MappedBuffer, pBuffer, Count, ARG_O_PTR, TRUE);
?if(FAILED(hr))
?{
??RETAILMSG(TRUE,(TEXT("%s: Fail to map caller buffer:0x%x\r\n"), _T(__FUNCTION__), pBuffer));
??goto CleanUp;
?}
?else
?{
??pRxBuffer? = MappedBuffer;
?}
#else

?

毛病就出在這里,檢查一下,看來(lái)又要自己debug 半天了。

?

WinCE平臺(tái)的程序編譯到Win32平臺(tái)下運(yùn)行

?最近做的項(xiàng)目中,有一個(gè)在WinCE平臺(tái)上跑的程序,后來(lái)隨著項(xiàng)目的發(fā)展,要求此程序在PC上也能跑。
感謝VS 2005提供的多平臺(tái)支持,只需要幾分鐘就可以解決這個(gè)問(wèn)題,方法很簡(jiǎn)單,下面是我處理的過(guò)程。

1.在配置管理中增加新平臺(tái)

1.1 創(chuàng)建新平臺(tái)


程序最初是基于Pocket PC2003(ARMV4)平臺(tái)創(chuàng)建的,我在此平臺(tái)的配置基礎(chǔ)上,創(chuàng)建新的Win32平臺(tái)。
打開(kāi)菜單Build->ConfigurationManager,在A(yíng)ctive Solution Platform下拉選擇框中選擇New,選擇new platform為Win32,Copy settings from選擇原有配置Pocket PC 2003(ARMV4),按OK為應(yīng)用程序創(chuàng)建新的Win32運(yùn)行平臺(tái)。

1.2 修改Debug|Win32的配置

Win32平臺(tái)的配置由PPC復(fù)制而來(lái),有些參數(shù)需要進(jìn)行更改。可以在項(xiàng)目屬性中進(jìn)行修改,但直接修改工程文件可能更為直觀(guān)和簡(jiǎn)單,我是直接修改此文件。

1.2.1 修改工具VCMIDLTool中的預(yù)定義宏P(guān)reprocessorDefinitions,只保留"_DEBUG"
1.2.2 修改工具VCMIDLTool中的預(yù)定義宏P(guān)reprocessorDefinitions,改為"_DEBUG;WIN32;_WINDOWS"
1.2.3 修改工具VCResourceCompilerTool中的預(yù)定義宏P(guān)reprocessorDefinitions,只保留"_DEBUG"
1.2.4 修改工具VCLinkerTool的配置,改為

1.???????????????<Tool

2.???????????????Name="VCLinkerTool"

3.???????????????LinkIncremental="2"

4.???????????????GenerateDebugInformation="true"

5.???????????????SubSystem="2"

6.???????????????TargetMachine="1"

7.???????????????/>

1.3 修改Release|Win32的配置

1.3.1 修改工具VCMIDLTool中的預(yù)定義宏P(guān)reprocessorDefinitions,只保留"NDEBUG"
1.3.2 修改工具VCMIDLTool中的預(yù)定義宏P(guān)reprocessorDefinitions,改為"NDEBUG;WIN32;_WINDOWS"
1.3.3 修改工具VCResourceCompilerTool中的預(yù)定義宏P(guān)reprocessorDefinitions,只保留"NDEBUG"
1.3.4 修改工具VCLinkerTool的配置,改為

1.???????????????<Tool

2.???????????????Name="VCLinkerTool"

3.???????????????LinkIncremental="1"

4.???????????????GenerateDebugInformation="true"

5.???????????????SubSystem="2"

6.???????????????OptimizeReferences="2"

7.???????????????EnableCOMDATFolding="2"

8.???????????????TargetMachine="1"

9.???????????????/>

2. 修正平臺(tái)差異帶來(lái)的編譯錯(cuò)誤

2.1 stdafx.h

首先是WINVER的定義,WinCE下被定義為_(kāi)WIN32_WCE,改之:

1.???????????????#ifdefined(WINCE)

2.???????????????#define WINVER_WIN32_WCE

3.???????????????#else

4.???????????????#define WINVER0x0501 // 允許使用特定于Windows XP 或更高版本的功能。

5.???????????????#endif


然后是一些WinCE特有的頭文件和庫(kù),改為僅當(dāng)WINCE宏被定義時(shí)編譯(可能分散在不同位置):

1.???????????????#ifdefined(WINCE)

2.???????????????#include<ceconfig.h>

3.???????????????#include<altcecrt.h>

4.???????????????#include<aygshell.h>

5.???????????????#pragmacomment(lib, "aygshell.lib")

6.???????????????#endif


2.2 App類(lèi)

在xxxApp::InitInstance中,SHInitExtraControls()的調(diào)用加上宏檢測(cè),僅當(dāng)WINCE宏被定義時(shí)編譯。

1.???????????????#ifdefined(WINCE)

2.???????????????//SHInitExtraControls should be called once during your application'sinitialization to initialize any

3.???????????????// of theWindows Mobile specific controls such as CAPEDIT and SIPPREF.

4.???????????????SHInitExtraControls();

5.???????????????#endif

另外App類(lèi)的頭文件中包含了資源文件的定義,但被#ifdef POCKETPC2003_UI_MODEL宏包了起來(lái),我的程序在兩個(gè)平臺(tái)都使用同樣的資源,因此把這個(gè)宏注釋掉即可。


PS:2014-3-20,在http://download.csdn.net/detail/thanklife/7069811的文章中,我看到有在編譯器添加的預(yù)處理器定義內(nèi)容包含該項(xiàng)內(nèi)容。在第8步驟有如下預(yù)處理器定義:

“_DEBUG;_WIN32_WCE=$(CEVER);UNDER_CE......”

總結(jié)

以上是生活随笔為你收集整理的_WIN32_WCE有什么用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。