当前位置:  开发笔记 > 编程语言 > 正文

C++条件宏评估

如何解决《C++条件宏评估》经验,为你挑选了0个好方法。

我有一个全局定义的符号,需要对我的源文件的给定子集有条件地定义.所有需要特殊处理的文件都已包含在包含前后的内容中:

pre.h:

#undefine mysymbol // [1]

post.h:

#define mysymbol MY_SYMBOL_DEFINITION // [2]

我的问题是,pre.hpost.h可以包括对于给定的源文件多次因各种包含链接.因此,我需要1到发生第一次pre.h包括在内,我需要2发生的最后一次post.h被包括在内.概念:

pre         // undefine
   pre      // no-op
      pre   // no-op
      post  // no-op
   post     // no-op
post        // redefine

由于我使用的是GCC 3.4.6,因此我无法访问可能为我解决此问题的push和pop宏pragma.

如何使用剩余的预处理器功能模拟该行为?

我试图用预处理器来增加/减少一个值,但我不确定这是可能的.

"我到底想要做什么?"

我们有宏替换newnew(__FILE__, __LINE__)-看到关于这个主题我的其他问题 -我们需要取消定义这些宏在被包裹组源文件的前置和后置包括上述,因为我们无法创建一个宏,是与其中使用的放置新语法兼容.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有