我對黑莓預處理有懷疑。我使用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