有助于在C++;程序 不同的C++风格指南不推荐使用C预处理器宏。p>

有助于在C++;程序 不同的C++风格指南不推荐使用C预处理器宏。p>,c++,refactoring,c-preprocessor,automated-refactoring,C++,Refactoring,C Preprocessor,Automated Refactoring,我知道有一些工具可以帮助检测由于宏使用而产生的错误(CPPCHECKER,Check),还有一些工具可以在存在预处理器指令的情况下提供重构(CSCout,XRefactory) 我想知道是否有任何重构工具可以在C++程序中建议替代(如内联函数、常量表达式)。 多年后,似乎你的工作被用作这些工具的基础,因为以前没有出现过。 它后来成为IDE的一部分,是一个可以将类似对象和函数的宏重构为等效的c++11表达式的工具。他们将库马尔、萨顿和斯特劳斯图普的参考文件作为他们软件的基础。我用它从代码库中删除了

我知道有一些工具可以帮助检测由于宏使用而产生的错误(CPPCHECKER,Check),还有一些工具可以在存在预处理器指令的情况下提供重构(CSCout,XRefactory)


我想知道是否有任何重构工具可以在C++程序中建议替代(如内联函数、常量表达式)。

多年后,似乎你的工作被用作这些工具的基础,因为以前没有出现过。


它后来成为IDE的一部分,是一个可以将类似对象和函数的宏重构为等效的c++11表达式的工具。他们将库马尔、萨顿和斯特劳斯图普的参考文件作为他们软件的基础。我用它从代码库中删除了约15k个宏。

在我意识到你是这篇论文的第一作者之前,我引用了库马尔、萨顿和斯特劳斯特鲁普最近的论文,写了一个关于它的答案!您可能在问题中提到了这一点作为参考:-)您是否正在寻找一个框架来自动化您自己的工具?我正在寻找(相关工具的)引用,如果有的话。这样我就可以在我的论文中写出来了。我找了,但没有找到。我们的框架(cpp2cxx)实际上实现了一点自动化。我在GitHub上看到您已经在与Clang进行交互。也许Coverity是一个值得关注的东西,但IIRC它是封闭源代码,我认为他们关注的是潜在的bug,而不是宏本身。你能提供一个指向参考的链接吗?我很想知道。它在第一个链接中:最初它是可爱的单元测试框架的一部分,现在他们把它移到了。Visual studio显然也有类似的功能。