与其右键单击宏标识符然后单击“转到定义”,是否可以展开宏引用并查看传递给编译器的代码是什么样的?
问问题
15500 次
3 回答
20
“Project + Properties, C/C++, Preprocessor, Preprocess to a File = Yes. 编译并打开构建目录中的 .i 文件。
于 2013-11-17T15:17:19.653 回答
6
我听到了关于这个话题的所有可能的否定答案:
- 宏只能扩展不能评估
- 预处理器还应该解析包含文件
- 嵌套宏可能过于复杂
- 条件预处理可能很棘手
- 宏是邪恶的,只是避免它们等
- ETC....
它们都是真实的,但 IMO 它们与日常编程的现实相冲突。
事实上,在旧的 C 项目中工作,其中宏,主要用作函数,这对我来说变得至关重要。使用 /P 生成所有预处理文件是可行的,但过于繁琐且耗时。我只需要一个工具来扩展一个简单的宏,该宏定义在其他文件的上方或最多几行。
怎么做?
- 在 Linux 上只需使用 GDB 和他的扩展宏功能
- 在 Windows 上,我使用集成到 Visual Studio中的https://www.jetbrains.com/resharper-cpp/
所以,是的,在实际意义上,这是可能的。
于 2016-10-19T13:41:34.280 回答
2
从 VS2017 开始,您可以在快速信息工具提示中看到宏扩展。一个非常酷的新功能。
于 2019-08-06T22:17:58.147 回答