当前位置: 代码迷 >> WinCE >> win32移栽到winCE步骤
  详细解决方案

win32移栽到winCE步骤

热度:47   发布时间:2016-04-28 12:27:50.0
win32移植到winCE步骤
1:搭建开发环境,转换工程到ce
    见:http://blog.csdn.net/cuibo1123/article/details/8744225

2:解决api兼容问题。
    win32下很多api与ce不兼容,需要一个一个找替换方案,没有替换方案就去找第三方,没有第三方就悲剧了,只能自己实现。

3:解决连接dll兼容问题。
    系统dll解决方法类似API,找,找不到自己写相应功能。自己写的dll,像移植程序一样移植。第三方dll,那祝你好运,希望他提供了ce版。

4:界面布局/资源
   ce和32的资源文件不通用,必须删掉重建,有经验的编辑代码,自己改吧,一点一点改,怎么也比重写快。编辑时提示.h无法打开,通常因为_WIN32_WCE没定义,定义他到.rc里面即可。另外布局大小都不一样(任务栏高度,状态栏高度等等),所以只能自己慢慢改位置。 

5:界面刷新机制不太相同,尤其是使用gdi的地方。
    寻找替换方案。

6:字符集,只能
Unicode
    如果你用了多字节编码,那么恭喜你,慢慢来。如果你写的是工控程序,那大部分通信协议都是多字节编码的,所以,注意不要全部改成Unicode, 或许3年,或许5年,总有一天能改好的。

7:优化
    如果你的ce板子特别弱,那么,性能很重要了。ce一般都是arm,精简指令的。和x86没得比。所以主频不能说明任何问题。

建议:
1:如果项目要同时支持win32/wince,最好不要做两个版本,使用一个版本,用预编译控制版本编译。否则项目升级将是个灾难。
2:
如果你用了多字节编码,所有界面更新的动作都做一个自己的封装,这样切换字符编码会容易的多。否则只能做一个协议转换的接口了。用多字节编码的好处是:如果你的程序逻辑复杂,界面简单,那么所有逻辑都可以c语言,到界面时候转换一下即可。如果用了Unicode,那么处理协议类操作会变得复杂。。

3:移植项目后先编译,把错误都先弄掉,然后至少能调试了,在慢慢处理兼容。


  相关解决方案