Blackberry多OS版兼容性问题

时间:2011-07-21 14:23:31

标签: blackberry java-me preprocessor compatibility

我在BlackBerry OS 5.0上开发了一个聊天应用程序,但我的客户希望我将其移植到4.5到5.0及以上的所有平台。 我已经尝试使用预处理程序指令在运行时编译OS兼容的类,但我还没有成功。我怀疑我使用预处理器的方式。所以我在这里举个例子:

//#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版本之间的兼容性吗?

1 个答案:

答案 0 :(得分:6)

您将代码放在语句之外。 ifdef和ifndef打开语句,endif关闭语句。您也可以使用#else,因为您只有两种情况。

//#ifdef JDE_4_6_0_AND_ABOVE

System.out.println("JDE_4_6_0_AND_ABOVE");

//#else

System.out.println("NOT JDE_4_6_0_AND_ABOVE");

//#endif

干杯