C++宏扩展器

Sam*_*rsa 5 c++ macros

有时我遇到相当复杂的宏,我想查看它们将扩展到给定参数的内容(那里也有字符串连接).是否有任何机会在那里扩展宏?

我知道编译器标志-E但是单个文件(或者最好是单个宏?)

小智 3

C 和 C++ 预处理器在大多数系统上称为 cpp - 您可以直接使用它:

cpp somefile.c
Run Code Online (Sandbox Code Playgroud)

将预处理 somefile.c,扩展宏并将结果写入标准输出。如果您使用的是 Microsoft 编译器:

cl -E somefile.c
Run Code Online (Sandbox Code Playgroud)

假设您的 PATH 上有编译器,也会执行相同的操作。