我知道我可以用预处理器在特定情况下用-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
解决方法
原文地址:https://www.jb51.cc/c/115388.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。