是否存在处理预处理器指令并给出实际预处理器输出的工具
Does a tool exist to process preprocessor directives and give the actual preprocessor output?
可能重复:
预处理器输出
我发现自己正在为Android调试STL端口。它始终使用许多(10-100?)预处理器指令来决定预处理器实际输出的代码。大量的#if
和#ifdef
块。
有没有一个工具可以运行这些工具,并显示实际发送给编译器的文本?有可能看到预处理器的输出吗?
在GCC中,使用gcc -E source.c
仅显示预处理器的输出。
我相信Clang也是如此。
有关其他编译器,请参阅手册。这应该清楚地记录下来。
这正是Boost.Wave的初衷。
Wave C++预处理器库是一个符合标准的C99/C++预处理器功能的实现,它封装在一个简单易用的接口后面,与标准模板库(STL)的众所周知的习惯用法很好地集成在一起。
我使用的几乎所有C++编译器都有执行此任务的命令行开关;在g++上,它是-E
(将输出写入stdout
,请参阅手册页),在VC++上,是/EP
(输出到stdout
)或/P
(输出到文件)。
相关文章:
- 错误:无效的预处理指令 #i 的意思是 #if?
- C++预处理会生成变量成员、资源库和映射
- 使用预处理指令检查是否包含标头?
- 预处理的 C/C++ 文件是否特定于计算机?
- 使用 GCC 对 C 文件进行部分预处理(不删除 "define" 指令)
- 在 CPLEX 中求解线性规划,无需剪切和预处理
- CPP -D 选项,用于预处理 Fortran 代码
- 错误:粘贴"tmp_UINT"和"+"未提供有效的预处理令牌
- 任务计划程序库的预处理不起作用 - 多定义错误
- Eclipse 问题 - 编译期间不考虑 .c 和 .cpp 文件中定义的预处理
- 使用python预处理后,C++(opencv)中的垫子类型数据与image_to_array相同
- Howo 使用 cl 预处理为 masm 组装生成一个单独的文件
- 我有一个预处理的 C/C++ 源文件 (cacti.i).如何从这个 .i 文件生成可执行二进制文件,以便我可以像 ./
- 如何使用Visual Studio C/C++编译器(cl.exe)来预处理我的objective-C代码
- 是具有预处理前分支实现的结构违反ODR
- 与不完整的Cholesky预处理的共轭梯度返回特征库的意外错误
- Visual Studio C - 无法输出预处理文件
- 在海湾合作委员会中加快宏观预处理的任何方法
- 所有结构成员的预处理器批处理
- 当头文件被预处理时是否有一个预处理器选项显示?