【发布时间】:2011-07-21 14:23:31
【问题描述】:
我在 BlackBerry OS 5.0 上开发了一个聊天应用程序,但我的客户希望我将它移植到从 4.5 到 5.0 及更高版本的所有平台。 我曾尝试使用预处理器指令在运行时编译操作系统兼容的类,但我还没有成功。我怀疑我使用预处理器的方式。所以我在这里举一个例子:
//#ifdef JDE_4_6_0_AND_ABOVE
/*
//#endif
//some code
//#ifdef JDE_4_6_0_AND_ABOVE
*/
//#endif
//#ifndef JDE_4_6_0_AND_ABOVE
/*
//#endif
//Alternative of code used above
//#ifndef JDE_4_6_0_AND_ABOVE
*/
//#endif
这就是我为代码的特定部分所做的方式。这里的逻辑是,如果操作系统版本为 4.6 及以上,则使用第一个代码……如果操作系统版本低于 4.6,则使用第二个代码……
但预处理器下的代码似乎在这两种情况下都无法编译。
注意:我已将“//#preprocess”放在代码的开头,并在我的应用程序描述符 xml 文件中定义了预处理器,但仍然没有运气。还有其他解决方案来处理 BBOS 版本之间的兼容性吗?
【问题讨论】:
标签: blackberry java-me preprocessor compatibility