use*_*065 3 compatibility preprocessor blackberry java-me
我在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
Run Code Online (Sandbox Code Playgroud)
这是我为代码的特定部分做的方式.这里的逻辑是如果操作系统版本是4.6及以上,则使用第一个代码...如果操作系统版本低于4.6,则使用第二个代码....
但是预处理器下的代码似乎没有在任何一种情况下编译.
注意:我在代码的开头放了"// #preprocess",并在我的应用程序描述符xml文件中定义了预处理器,但仍然没有运气.还有其他解决方案来处理BBOS版本之间的兼容性吗?
您将代码放在语句之外.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
Run Code Online (Sandbox Code Playgroud)
干杯
射线