WinCE 开发经验

本文会陆续记录WinCE开发中一些开发经验。

 

1、工具的选择

历史原因,WinCE4.2和WinCE5的传统开发工具是eVC4.0(+补丁包SP4),但是推荐使用VS2005(+补丁包SP1)。因为VS2005是WinCE6.0的标准开发工具,具有更好的向下兼容性。另外,VS2005的编译器有改进,对嵌入式汇编语句支持很好。一个例子就是编译开源代码TCPMP时,编译ffmpeg工程时,找遍网上的答案,总有一些问题解决不了,最后用VS2005成功编译。

 

2、SDK选择

由于WinCE操作系统是高度定制的操作系统,很多组件都是有需要才加上,为的是给系统尽可能瘦身(没办法,WinCE系统资源有限)。所以做应用程序开发,优先选择PlatformBuilder导出的SDK。这样,很多问题在编译链接期就可以暴露出来。如果特殊原因,无法获取,则选择StandardSDK(Microsoft导出的一个标准SDK)。绝大多数情况下,都是OK的。因为在实际开发过程中,会遇到“.exe可以成功编译,但是运行时却报错‘缺少某个组件’”,这其实就是你的SDK和你的OS“不兼容”导致的。另外,遇到这种情况不要着急,有个小技巧,就是使用“Depends.exe”(存在于C:/Program Files/Microsoft Visual Studio 8/Common7/Tools/Bin),查看.exe的依赖模块,进而推测可能是使用了哪些不被支持的模块。一个例子就是在编译TCPMP的common.dll时,默认情况是需要com支持(依赖coredll.dll和ole32.dll),,因为里面用到了DDraw和DMO,所以编译出来的程序在有些设备上正常,有些就是运行不起来,后来编译了一个“瘦身”的common.dll(只依赖coredll.dll,当然代价是只能用GDI方式,不能用DDraw了),问题解决了。

 

3、Unicode问题

WinCE系统都是字符统一采用Unicode存储(出于效率考虑和移植性,可参看《Windows核心编程》)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值