indent是Linux上的按照要求格式化源代码的好工具。对于C程序,它默认的输出不太令人习惯,可以执行一下指令来格式化C语言源码:
indent -kr -i8 -ts8 -sob -l80 -ss -bs -psl <file>
如果要经常使用,可以写一个简单的shell脚本:
indent -kr -i8 -ts8 -sob -l80 -ss -bs -psl $1
命名为cindent。使用例子如下:
$cat indenttest.c #include <stdio.h> int a(void) { int i=0,g=0; while(i++<100000) { g+=i; } return g; } int b(void) { int i=0,g=0; while(i++<400000) { g +=i; } return g; } int main(int argc, char** argv) { int iterations; if(argc != 2) { printf("Usage %s \n", argv[0]); exit(-1); } else iterations = atoi(argv[1]); printf("No of iterations = %d\n", iterations); while(iterations--) { a(); b(); } } $./cindent.sh indenttest.c $cat indenttest.c #include <stdio.h> int a(void) { int i = 0, g = 0; while (i++ < 100000) { g += i; } return g; } int b(void) { int i = 0, g = 0; while (i++ < 400000) { g += i; } return g; } int main(int argc, char **argv) { int iterations; if (argc != 2) { printf("Usage %s \n", argv[0]); exit(-1); } else iterations = atoi(argv[1]); printf("No of iterations = %d\n", iterations); while (iterations--) { a(); b(); } }
代码果然马上变得好看了。当然,这只是补救之道,关键是写代码时就要注意格式——选择一个好的编辑器总是很重要。
本人的部分博文已经转移至chaosxie.top,本博客将不再更新,希望您能继续支持我!