我知道在我的特定情况下,我可以使用 -E
选项启动预处理器输出输出。对于生成的代码,这个预处理器输出是致命的。例如,我有一个 4gl 应用程序,Informix 将其转换为 C,后者又被吐出一团糟。
我想要的是一个允许我指定有效预处理器值并仅显示相关代码的编辑器。我在 Vim 中有一些非常基本的工作匹配 #ifdef
和 #endif
,但是代码充满了更高级的结构,例如 #ifndef
, #if
和#else
。更糟糕的是,这些结构在逻辑上更复杂,而且我认为我的 Vim 脚本编写技能不足以让我从中获得我想要的东西。例如:
#if DLEVEL > 5
#define SIGNAL 1
#if STACKUSE == 1
#define STACK 200
#else
#define STACK 100
#endif
#else
#define SIGNAL 0
#if STACKUSE == 1
#define STACK 100
#else
#define STACK 50
#endif
#endif
#if DLEVEL == 0
#define STACK 0
#elif DLEVEL == 1
#define STACK 100
#elif DLEVEL > 5
display( debugptr );
#else
#define STACK 200
#endif
如果我想解决它,包括定义一个表达式计算器。这必须是一个解决的问题!如果您对 Vim 有任何建议或其他建议,请告诉我。
最佳答案
eclipse CDT编辑器根据您声明为事件的宏,可以很好地突出显示代码。你可能想检查一下。
关于c - 预处理器忧郁症有什么治疗方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/739230/