我对黑莓预处理有怀疑。我使用eclipse并维护与基于触摸的设备和qwerty设备兼容的代码库。 现在众所周知的eclipse问题是......当您更改4.5版黑莓安装组件时,即使将它们放入预处理器块内,它也会针对特定于触摸的API部件显示编译错误。请注意,在4.7和4.5下编译时,相同的代码不会在JDE中给出任何错误。黑莓预处理器在日食
我跟着http://smartfone-more.blogspot.com/2010/05/coding-for-multiple-blackberry-devices.html的提示,它用// ifndef的两个块阻止//#ifdef注释。
基本上
//#ifdef MY_FLAG
my logic
//endif
变成
//#ifndef
/*
//#endif
mylogic
//#ifndef
*/
//#endif
,使得蚀忽略4.5组分的基于触摸的代码。
现在我有一个问题,
假设我有预处理器这样的if-else语句块:
//#ifdef MY_FLAG
my logic for touch
//#elseif
my logic for qwerty
//endif
我可以重写这个东西是这样的:
//#ifndef MY_FLAG
/*
//#endif
my logic for touch
//#ifndef
*/
//#endif
//#ifndef MY_FLAG
my logic for qwerty
//#endif
所以而不是1个if-else块,现在有2个块。由此会出现任何性能问题吗?基本上,他们是一样的吗?
这里有人呼应相同http://www.blackberryforums.com/developer-forum /242164-regarding-blackberry-preprocessor-eclipse.html#post1687274 – arin 2010-12-22 18:39:14