windows ce 编程的十点忠告
[文章信息] 【程序编程相关:浅析php中实现多线程~ 】
reference from:http://www.chinabyte.com/softchannel/72342371878043648/20031202/1749567_2.shtml 【推荐阅读:关于PHP--session的问题集锦解】
【扩展信息:Linux下C语言编程[转载]】 作者: 不详 时间: 2003-12-02 出处: 嵌入式研究网 责任编辑: 方舟 [文章导读] 本文是根据作者在windows ce上编写raima 数据管理器的经验总结出来的,值得ce开发人员借鉴[正文]
最近两周我们花了大部分时间将已有的应用程序移植到microsoft windows ce中.一般说来,这个计划不是太难.我们起步于microsoft win32代码,当然windows ce是基于win32应用程序接口(api)的.有利的是,我们的应用程序(即raima 数据管理器)有方便的使用接口,并包含一个大约由150个子函数组成的库,这些函数都是由c语言写成,可以用来创建.管理与访问数据库.按建立应用程序的方式来说,我们原以为将它移植到windows ce中是一项相对简单的c语言编程练习.然而,我们不久便遇到好些困难.从粗心大意的错误开始,比如在基于windows nt 的windows ce仿真器上使用microsoft windows nt库,接着又违背windows ce的编程戒律,如"千万不要给unicode(国际标准组织10646标准)字符分配奇数内存地址".
大约有百分之九十的问题或多或少地与unicode有关.尽管unicode编程不难,但是,当给单字节字符编写代码时,很容易出错(我有过许多次错误).
下面这些忠告是根据我们在windows ce上编写raima 数据管理器的经验总结出来的,但我相信,在做任何其它windows ce程序之前,它们都值得借鉴.毕竟大多数windows开发者,当他们创建第一个windows ce应用程序时,真正运用的是已掌握的win32知识.
1. 不要在仿真器上使用windows nt库
这里所讨论的第一个错误实在太愚蠢了,但我还是陷了进去,也许你也会.当用microsoft vc++(5.0版)创建一个windows ce程序时,你会发现,包含路径(include). 库路径(library).及可执行程序路径被自动调整以匹配反应目标环境的选择.因此,比如说为windows ce模拟器建立应用程序时,你会发现,include路径没有指向win32的包含文件(在vc目录下),而是指向windows ce包含文件(在wce目录下).千万别去修改.
由于windows ce在windows nt下运行,所以仿真器上运行的程序能够调用任一windows nt动态链接库(dll)中的函数,即使这个dll不是模拟器的成员也一样.显然,这不是很好的事,因为相同的函数也许在手持pc(h/pc)或windows ce设备上不可用,而你的软件最终要能在这些设备上运行.
... 下一页