我有一个C ++文件,其中充斥着无法读取的宏,并且想要用这些宏定义替换这些宏,以便我能够真正看到正在发生的事情。
到目前为止,我一直在点击它们,选择"转到定义"在上下文菜单上,复制粘贴它们并手动填写它们。我希望VS提供一种方法来用它的定义替换宏并自动填充它并删除用于转义每个换行符的斜杠?
我已尝试使用预编译器输出,但至少有一些我想要保留的宏,它会删除所有这些宏。它还完全抛出窗口格式,你无法知道每行代码来自哪个文件。
所以,让我们在我的table.h文件中说:
#define TABLE_SIZE 100
然后在我的table.cpp文件中我有:
int table1[TABLE_SIZE];
int table2[TABLE_SIZE];
我希望能够右键单击并自动将其替换为:
int table1[100];
int table2[100];
自动填写传入的任何值。
这似乎应该是非常容易实现的,但Google搜索很难,因为宏通常会替换文本,因此"取代宏"或其他品种并没有带来好结果。
答案 0 :(得分:0)
此表单中不存在您要查找的功能。但是如果您仍然想知道预处理器转换代码的内容,您应该查看输出。
对于MSC(Visual Studio中的编译器),您需要做的就是传递/ P选项。 (我不记得它是否真的是一个奇特的选项是VS或你需要使用额外的参数字段来做它。)
但是一旦启用,您应该在中间文件夹中找到您预处理的文件。
该功能的文档:https://msdn.microsoft.com/en-us/library/8z9z0bx6.aspx