#定義我有這樣的代碼:如何在宏(或替代)
#ifdef something32 <----- might not be defined
the_real_value = thing[something32];
thing[something32] = my_value;
#else
the_real_value = thing[something]; <------- guarantied to be defined (something)
thing[something] = my_value;
#endif
#ifdef THE_OTHER_THING <--------- might not be defined
#ifdef something32
thing32[something32] = my_value;
#else
thing32[something] = my_value;
#endif
#endif
,我會使用很多次,所以我想用宏來替換它。我知道#ifdef無法生存宏,所以我想知道如何替換所有代碼。有任何想法嗎?
編輯:
對不起,我忘了提,something32
僅僅是一個相當長的變量列表中的一個。
的想法是有一些像
SHORTEN_MY_CODE(something, something32);
SHORTEN_MY_CODE(another_something, another_something32);
etc...
'#ifdefs'不能在宏中,但宏可以在#ifdef中。 –
@CarlNorum對不起,我會編輯我的問題,你會明白我爲什麼不能使用它。 – alexandernst
我認爲有一個正確的方式來做你想做的事情,但我需要看到你的代碼的其餘部分來幫助。 –