2. 语言和操作系统
FAQ 2a:
问:BREW的Java开发选项是否已经存在?
答:虽然我们(QUALCOMM)自己不提供BREW平台的Java运行环境,但是我们正在和一些技术伙伴努力开发Java支持,来满足用户的选择。目前我们还不能提供Java的解决方案,但是我们认为在不久的将来就可以实现。同时,如果你开发的是J2ME/CLDC/MIDP应用程序或者midlet,您可以使用任何标准的Java开发环境。我们也认为在一些运行环境中可以直接访问BREW API。
FAQ 2b:
问:在使用C++语言时,我需要注意什么?
答:你应当确认使用的是IHEAP内存管理程序。最好的办法是在每一个类中使用new和delete,在实现内部使用AEEStdlib的MALLOC和FREE函数。
例:
void *carrier new ( size_t size) {
return MALLOC (size) ;
}
// Overload the delete carrier
void carrier delete(void * ptr) {
FREE(ptr) ;
}
你尽量不要使用C++虚函数或者使用继承机制从BREW类中继承。比如,你不能定义一个叫CApplet类,这个类从IApplet继承过来。目前我们(QUALCOMM)正在开发新的技术以避免这种限制。
你能做的事情就是定义你的应用程序数据。比如,你定义一个结构叫CMyApp,这个结构包含了应用程序使用的数据,你也可以把它加入类中。你还需要把这个结构的size传给AEEApplet_New函数,AEEApplet_New将传回一个指针,这个指针指向你的C++对象,你就可以用通常的C++方法使用。
FAQ 2c:
问:如果使用汇编器,我需要注意什么?
答:你应当注意分支指令,比如,超出模式的长分支。这种长分支应当使用寄存器。通常,你不要使用全局变量或者静态数据。
FAQ 2d:
问:BREW SDK需要什么样的操作系统支持?
答:由于支持Unicode编码,SDK只能运行在Microsoft Windows NT 4.0, Windows 2000 和 Windows XP平台上。BREW SDK不能运行在Windows 98上。
FAQ 2e:
问:BREW支持多线程吗?
答:当前,BREW不支持多线程。但是BREW支持合成的多任务。
FAQ 2f:
问:BREW SDK可以连接windows DLL文件吗?
答:不能。SDK是一个完整的继承环境,它已经包含了C标准库。BREW提供大多数的通用函数接口。