【问题标题】:Online Preprocessor for C++ [closed]C++ 的在线预处理器 [关闭]
【发布时间】:2012-09-19 13:04:46
【问题描述】:

我有:

  1. 包含大量复杂宏的 C++ 代码 (#define bla bla ...)
  2. 以及这些宏的用法(实例化)

我需要:

一个工具(例如在线),它将简单地执行 MACROS(或宏系统)的实例化并显示结果代码。

示例:

输入:

#define AAA(a,b) if ((a) > (b))

AAA(1, f1(10))

输出:

if ((1) > (f1(10)))

【问题讨论】:

  • 使用你的编译器:例如,在 GCC 中你可以说,gcc -E -P file.c
  • 为什么要关闭投票?这是一个编程相关的问题!
  • 编译器内置了这个。你用的是哪一个?此外,这对于 C++ 来说是一个糟糕的宏;它应该是像几乎所有宏一样的内联函数。
  • 不重复!我已经提到了与你提到的 Luchian Grigore 的区别。

标签: c++ c-preprocessor


【解决方案1】:

gcc 选项将是 -E,然后是您的文件名。

使用 MSVC cl.exe 的解决方案也是 /E

【讨论】:

  • 不预编译整个文件或项目而只预编译一个代码 sn-p 怎么样?至少用 Visual Studio 来做这件事怎么样。
  • 添加了这个,很抱歉打错了,有一两秒钟我给了-e的选项。
  • 谢谢,但我仍然处理一个非常大的项目,我只需要编译一个小的 sn-p。没有更快的方法?
  • 好答案。想添加,如果你想在线就去coliru.stacked-crooked.com添加-E并在命令行中删除&& a.out
  • @Predelnik 感谢您成为唯一真正回答 OP 问题的人,而不是像其他人一样给出“不要这样做”的答案。
猜你喜欢
  • 1970-01-01
  • 2010-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多