Tag: 预处理器指令

令牌使用增量变量在c中粘贴

我有一组数组: msg1[] msg2[] …. msgn[] 。 我需要在while循环中使用这些值。 作为msgi[] 。 当我将它定义为#define MSG(a) msg##a并将其放入循环并递增i ,它会将其扩展为msgi ?

#define,#ifdef #undef #endif

我有以下代码 #define PROC_ADD void main(void) { while(1) { #ifdef PROC_ADD // Do this code here then undefined it to run the code in the else // processing work #undef PROC_ADD #else // now that PROC_ADD has been undefined run this code // processing work #endif } } 但是,它将运行代码。 但是在PROC_ADD未定义之后,它不会在else运行代码。 我认为原因可能是您只能在编译时定义和取消定义,而不是在运行时定义和取消定义。 但是,我不太确定。

从代码库中删除/应用ifdef的/ else的工具

我有一个非常大的代码库,我想通过删除并应用散布在它周围的一些ifdef来清理它。 例如,我有很多这些: test.c的 #ifdef MYCHECK // do other sutff #else // do stuff #endif 是否有一个工具允许我运行整个代码库并删除所有代码,只留下我的变量条件中的代码? 例如: nicetool -D MYCHECK *.c 会导致: test.c的 // do other stuff