相关疑难解决方法(0)

预处理器布鲁斯有什么治疗方法吗?

我知道我可以踢预处理器以-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
Run Code Online (Sandbox Code Playgroud)

如果我想解决它,包括定义表达式求值程序.这必须是一个解决的问题!如果您有Vim建议或其他建议,请告诉我.

c vim c-preprocessor

9
推荐指数
2
解决办法
2685
查看次数

标签 统计

c ×1

c-preprocessor ×1

vim ×1