您的位置 首页 系统

WinCE 5.0边做边学(二)

经过前两次的边做边学,我们已经创建并可以自由修改自己的平台了,这次我平来补充一点理论知识,以便加深对CE生成过程的了解。在此之前,需要说

经过前两次的边做边学,咱们现已创立并能够自在修正自己的渠道了,这次我平来弥补一点理论常识,以便加深对CE生成进程的了解。在此之前,需求阐明的是CE的目录结构是很巨大而杂乱的,在今后的工作中许多工作会取决于你对目录结构的了解程度,在此,CE5的文件夹结构未产生大的改动,因而想了解此部分内容的朋友可直接参看自己的《WinCE试验教程》相关部分。与CE4稍有不同的是在CE5中你自己的渠道不在存放于Public文件夹中了,而是专门有一个PBWorkspaces的文件夹,这样愈加便利办理且结构明晰了。

咱们要点要说的仍是CE的生成进程,即你在编译渠道的时分Platform Builder究竟为你做了些什么?

实际上,IDE在生成CE的进程傍边共阅历了四个阶段,分别是Sysgen、Build、Copy、Make,即组件生成阶段,编译阶段,Release文件夹仿制阶段和镜像打包阶段。下面咱们就分阶段来阐明一下。

在Public文件夹下是CE为咱们供给的可用组件,咱们定制自己的渠道是经过Platform Builder做的挑选便是从这里边挑选了一部分需求的组件。在这些文件夹中,包含了一切可用的库文件,头文件,DEF文件,当然也包含了一切可导出的函数阐明。在Sysgen阶段要做的便是从中挑选咱们自己的渠道需求的头文件,库文件和导出函数以创立咱们自己渠道需求的组件。它所完结的头文件会以C++注释的方法加以符号,这样它就能够挑选需求的部分来导出,最终把一切需求的库进行链接就得到了咱们自己渠道所需求的东西了,它就放在Wince500\pbworkspaces\%ProjectName%\WINCE500\%CPU_TYPE%_x86\cesysgen文件夹下。

经过上一阶段后,需求的头文件库文件就预备好了,但这仅仅体系组件部分,咱们的渠道还有各种设备驱动程序等其他的东西,这些就要在Build阶段来完结了。

整个Build阶段都是在围绕着DIRS文件和SOURCES文件来进行,前者决议了哪些文件夹要被编译,后者决议了哪些文件要被怎么编译,也便是说,此阶段要完结的便是各种源程序的编译进程。下面咱们就要点看一下这两种文件的内容。

DIRS文件能够在许多文件夹中找到,它列出了要参加编译的子文件夹,内容大体如下:

DIRS_CE= ceddk regenum pcibus 这样,build.exe在编译的时分就能够经过它来逐层找到要参加编译文件夹了。至于其间的OPTIONAL_DIRS、DIRS_NTANSI等项目的意义能够经过协助查到。

相同,SOURCES文件对参加编译的源程序的编译方法做了规则,例如经过TARGETNAME规则编译后的称号,经过TARGETTYPE规则编译的类型是EXE,DLL仍是LIB,经过DLLENTRY规则DLL文件的进口点,经过INCLUDES规则编译进程中需求的头文件,经过SOURCES规则参加编译的源文件等等。这些宏的用法在协助文档里有愈加明细的阐明,在这里只需了解这种编译机制就能够了。

接下来,一切的编译都有完结了,DLL也好,EXE也好,都是方针渠道自有的了,下一步便是一个Copy进程,也便是将你的项目文件夹下的WINCE500文件夹下的内容仿制到RELEASE文件夹下,这步就没什么可说的了。

最终一步便是打包了,行将现已预备好的方针渠道的文件打包成NK.bin这样的操作体系镜像文件。在这个进程傍边,一个完结了文件兼并、注册表紧缩、资源文件替换和打包四个子进程。

文件兼并阶段要点对以下文件进行兼并:

–一切的.bib文件兼并成CE.BIB

–一切的.reg文件兼并成REGINIT.INI

–一切的.dat文件兼并成INITOBJ.DAT

–一切的.db文件兼并成INITDB.INI

知道这几个兼并今后便于你在RELEASE下查找你做的修正是否的确被置入了方针渠道。

注册表紧缩会将REGINIT.INT文件紧缩成DEFAULT.FDF文件。

资源替换便是将EXE或DLL中的资源替换成本地言语如简体中文。

接下来才是把这些CE.BIB等二进制文件制造NK.BIN文件,这才是咱们需求的文件,不过在CE5中如同能够在项目设置中改动这个文件的称号,读者能够自己试试。

以上说的这些编译进程,在Platform Builder中的Build OS菜单下分得比较清晰,这一点比CE4要好得多,你能够自己把握让它独自履行某一进程。假如你修正了某个组件的源程序,也能够右击这一组件然后独自编译此组件,最终再生成Image,总归,灵活性是比较不错的了。

一起,经过以上的剖析也能够看出来,Platform Builder这个IDE在协助生成CE时基本上是依赖于文件夹结构和那些文本文件以及批处理文件的,因而,关于文件夹结构仍是要尽量的了解。一起也证明那些总说批处理文件没用的人的无知,在微软的操作体系和开发工具中,批处理文件是至关重要的,说它无用的人仅仅因为自己的水平不行罢了。

好了,这次咱们学得多做得少,不过这些常识仍是有必要了解的,别忘了对照你的文件夹结构来学习哦!

经过曾经的学习,咱们现已把握了生成CE的进程及编译的几个阶段,这次咱们再来了解一下Platform Builder中为咱们供给的组件包的办理方法以及怎么办理自己的组件。

在Platform Builder(以下简称PB)中的右侧有一个Catalog窗口,其间列出了一切可供运用的组件,咱们能够看到其内容是十分之多的,现在的疑问就产生了,PB是怎么办理这些组的呢?假如我有一个新设备的驱动组件要怎么才干放到这个组件包窗口中呢?假如我开发了一个设备驱动以供其他人运用那我要怎么才干发布我的驱动呢?下面,咱们就来处理这些问题。

在PB中,这些组件的办理都是能过一种组件文件(.cec文件)来完成的。在CE4中,体系自带的CEC文件都坐落PB的安装文件夹下的CEC文件夹,咱们能够在那里很简单的找到它们,但是在CE5中,它的方位变了,你能够在WINCE500\PUBLIC\COMMON\OAK\CATALOG\CEC下找到他们。

假如你开发了OAL,设备驱动或其他组件,你就能够能过CEC文件来把它们加入到PB中。经过在PB环境中导入CEC文件,其他的渠道开发人员就能够运用这些组件了。CEC文件是用来描绘组件信息的文本文件,它包含了一些块的列表,首要包含以下四种信息块:

–CECInfo块,用来描绘此CEC文件的信息,每个CEC文件只能含有一个此信息块,从中你能够看到该CEC的称号、GUID、版别、供货商和扼要描绘。

–ComponentType块,它描绘了第一流其他组件类型,在一个CEC文件中能够有多个此信息块,它经过Group,RequiredCEModules,ExcludeWhenSet,MaxResolvedImplsAllowed等条目来描绘此组件地点的组,需求的CE组件,扫除的组件及答应在一个CE渠道中存在的数量等信息。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/xitong/297993.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部