寻找不平衡的牙箍和括号

gcc 4.6.0 GNU Emacs 23.2.1

我有一些c代码,在某些时候我必须犯错误。 现在我留下了不平衡的curl的支架或括号。

我有大约2000行代码,我只是想知道有没有找到它们的技术?

Emacs有一些很好的function,所以我只是想知道它是否有任何方法可以扫描代码并告诉我它们在哪里。 目前我有一个与此相关的编译错误。

非常感谢任何建议,

在emacs中,您可以使用Mx check-parens 。 请参阅http://www.gnu.org/software/libtool/manual/emacs/Parentheses.html

我建议在代码块周围添加“#ifdef 0 …. #endif”,直到源代码编译为止。 继续调整ifdef’d out代码的大小,直到缩小ifdef出来时编译的块,否则不会。 这个块将包含不平衡支撑。

就个人而言,我首先要确定几乎整个文件并在每个函数前面移动“#ifdef 0”,直到我开始看到编译错误。

如果你有疯狂的长函数,那么采取相同的方法,但在给你麻烦的函数内(一旦你确定它是什么function)。

一个好的开始是选择all( Mx select-all )然后缩进代码( Mx indent-region )。 由于emacs做了非常好的缩进工作,你会发现缩进失败的地方。

此外,使用show-paren-modeMx show-paren-mode )emacs将显示每个结尾paren的匹配paren(反之亦然),因此您可以查看代码。

如果你想要一些比普通高亮更有趣的东西,你可以使用彩虹分隔符: https : //www.emacswiki.org/emacs/RainbowDelimiters

这是一篇简短的博客文章: http : //emacs-fu.blogspot.com/2011/05/toward-balanced-and-colorful-delimiters.html