c++ - 在 C++ 中删除编译源的任何脚本

标签 c++ debugging c-preprocessor

在我的 C++ 文件中,我有

#ifdef DEBUG 
    then blah
#else 
    blooh. 

我想去掉所有在预处理后没有被编译的文本,这样如果 DEBUG 没有定义,那么所有形式的语句:

#ifdef DBUG 
    /* some debug code */ 
#endif

从源代码中删除。

编辑:这是一个例子:

#include <iostream>
//#define DEBUG
int main(){
  #ifdef DEBUG
      cout << "In debug\n";
  #endif
     cout << "hello\n";
  return 0;
 }

运行脚本后,输出应该是

#include <iostream>
//#define DEBUG
int main(){
  cout << "hello\n";
 return 0;
}

最佳答案

仅仅运行预处理器还不够好吗?例如 g++ -E?

关于c++ - 在 C++ 中删除编译源的任何脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7716869/

相关文章:

php - 500内部服务器错误,如何调试

c++ - 如何使用 C 预处理器将连接的字符串转换为宽字符?

c++ - 模板参数推导 - 推导 T 并使用 T&&

c++ - 通过 PageText 以编程方式在 wxNotebook 上添加/删除选项卡

c++ - MiscFlags D3D11_RESOURCE_MISC_GDI_COMPATIBLE 用于 GDI 兼容纹理,但 IDXGISurface1::GetDC 抛出异常

python - 如何可重复地调试依赖于随机算法的程序?

c++ - 在 C++ 中测量函数的执行时间

eclipse - 在 pycharm 或 eclipse+pydev 的 C 线程中无法使用 python 断点

objective-c - Objective-C 字符串文字的预处理器宏值

c++ - 如何为 std::cout 制作可变参数宏?