寻找不平衡的括号和括号

时间:2011-06-12 16:19:24

标签: c emacs

gcc 4.6.0     GNU Emacs 23.2.1

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

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

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

非常感谢任何建议,

4 个答案:

答案 0 :(得分:14)

在emacs中,您可以使用M-x check-parens。见http://www.gnu.org/software/libtool/manual/emacs/Parentheses.html

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

一个好的开始是选择所有(M-x select-all),然后缩进代码(M-x indent-region)。由于emacs做了非常好的缩进工作,你会注意到缩进失败的地方。

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

答案 3 :(得分:0)

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

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