#定义我有这样的代码:如何在宏(或替代)
#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
我认为有一个正确的方式来做你想做的事情,但我需要看到你的代码的其余部分来帮助。 –