Visual studio 如何拓展VC++;使用VisualStudio的宏引用?

Visual studio 如何拓展VC++;使用VisualStudio的宏引用?,visual-studio,visual-c++,macros,preprocessor,Visual Studio,Visual C++,Macros,Preprocessor,是否可以展开宏引用并查看传递给编译器的代码的外观,而不是右键单击宏标识符,然后单击“转到定义”“项目+属性,C/C++,预处理器,文件预处理=是。编译并打开build目录中的.i文件。我听到了关于这个主题的所有可能的否定答案: 宏只能展开,不能计算 预处理器还应该解析包含文件的文件 嵌套宏可能过于复杂 条件预处理可能很棘手 宏是邪恶的,只要避开它们等等 等等 它们都是真的,但在我看来,它们与日常编程的现实相冲突 事实上,在旧的C项目中,宏(主要用作函数)对我来说至关重要。使用/P生成所有预处

是否可以展开宏引用并查看传递给编译器的代码的外观,而不是右键单击宏标识符,然后单击“转到定义”“项目+属性,C/C++,预处理器,文件预处理=是。编译并打开build目录中的.i文件。

我听到了关于这个主题的所有可能的否定答案:

  • 宏只能展开,不能计算
  • 预处理器还应该解析包含文件的文件
  • 嵌套宏可能过于复杂
  • 条件预处理可能很棘手
  • 宏是邪恶的,只要避开它们等等
  • 等等
它们都是真的,但在我看来,它们与日常编程的现实相冲突

事实上,在旧的C项目中,宏(主要用作函数)对我来说至关重要。使用/P生成所有预处理的文件是可行的,但这会耗费大量时间。我只需要一个工具来扩展一个简单的宏,该宏定义在其他文件的上面几行或最多几行

怎么做

  • 在Linux上,只需使用GDB和他的扩展宏功能
  • 在windows上,我使用集成的 进入VisualStudio

  • 因此,是的,从实际意义上讲,这是可能的。

    您可以在自VS2017以来的快速信息工具提示中看到宏扩展。一个非常酷的新功能


    @HansPassant您真的应该回答这个问题,因为您的评论在过去三年中一直在复制/粘贴,而且有点难看。这是一个简单的修复方法,只需将评论标记为“过时”,mods就会将其删除。您也可以通过右键单击并查看属性对单个文件执行此操作