c++ - 如何在庞大的代码库中找到悬空的命名空间或预处理器指令

标签 c++ visual-studio visual-studio-2010

我们怀疑我们的代码中有这样的东西,

所以可能是没有 #endif#ifdef 或者没有 的命名空间 foo {,在包含数十万个文件的代码库中定位这样的东西有什么策略,有没有办法使用正则表达式?

编辑 - 忘记提及(这是真正邪恶的部分)我们称之为在此代码中生成的统一文件,将每个单独的 cpp 文件拉入一个大的 super cpp 文件。因此,编译器可能不会报告缺少大括号或不匹配的 else/ifs,因为它们可以很容易地运行到接下来的几亿行代码中......

最佳答案

正则表达式无法真正找到匹配的大括号,尤其是嵌套时。

在我看来,最好的方法是确保所有代码都正确缩进,这样就很容易看出什么时候遗漏了。

除此之外,它是开始与结束的体力劳动匹配。希望它只需要很少做。另请注意,大多数面向编码的现代文本编辑器都非常擅长匹配大括号和括号等内容。

关于c++ - 如何在庞大的代码库中找到悬空的命名空间或预处理器指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10106478/

相关文章:

c++ - 如何消除构造函数选择的强制转换

c# - directx/directshow preparesurface 失败/无法呈现图像

c++ - 为什么在 std::vector 中使用索引超出范围的运算符 [] 时没有出现异常?

c++ - VS2015错误C2976

visual-studio - 是否可以自定义 asp .net mvc 3 生成的 View ?

c# - 我可以看到所有 View 在 Visual Studio 2012 MVC 4 App 中是如何内部链接的吗?

c++ - 无法编译 CUDA C 源代码。提供简易版

visual-studio - 在 Visual Studio 2010 Express 中更改 objective-c PU 设置

C++对象存储在栈或堆中

vb.net - #define 等效于 Visual Basic 2010