编译工具中包含几种工具。本文将仅以基本工具来编译一个简单应用程序(该程序运行在 Series 60 和UIQ 下)。
命令行工具 首先介绍的是bldmake:该工具一般用于产生命令文件,可利用该文件编译和连接应用程序(abld)。bldmake要求bld.inf 文件来完成该工作[1]。
abld.bat 文件时编译应用程序的关键进入点:

根据参数,通过abld命令后,这时会产生Visual C++ 工作工具和工程文件(abld生成文件vc6),Windows 模拟器应用程序(abld 建立 wins udeb)或是对象手机应用程序(abld 建立thumb urel)。
参数vc6 和 wins 非常直接利于理解(vc6 = Visual C++ 6, wins = Windows)。Udeb代表着"Unicode - Debug",而Urel 代表"Unicode - Release"。Unicode 是指一字符码编码模式(类似于 ASCII 但Unicode字符码允许编码外来字符)。Debug是指为应用程序生成调试信息(这可能出现在模拟器版本),需要声明调试信息也可能不被包含(这个可能出现在可执行对象中)。
ARMI、 ARM4和THUMB
如今,ARM 处理器(至少为ARM7 和 ARM9)有两种指令设置: 一个为32位指令,其为ARM4 一个为16位指令,其为THUMB
ARM4 模式是一个比较齐全的指令设置。THUMB 模式则比较简洁。一般认为在THUMB 模式下编译的程序比在ARM4 模式下编译得要小。而ARM4编译的程序要更快些。
但是,不是对所有手机都适用,这要根据硬件结构。事实上,大部分手机拥有16位总线,使用THUMB 模式。在特殊情况下,一THUMB 模式的程序通常要更小更快,因为内存访问足够获取指令。
ARMI 代表ARM的中间件。这是最安全的选择因为ARMI程序可以被连接到THUMB 或ARM4 库中,THUMB 编译的代码只能被连接到THUMB 代码,而ARM4编译 的代码连接到ARM4 代码。 [1] bld.inf 文件在该情况下仅为.mmp 文件列表。
此文为开发视界翻译转载者请注明出处否则追究法律责任
|