您的位置:首页 > 运维架构 > Linux

Auto format Linux kernel coding style

2015-12-04 14:47 816 查看

一、代码风格自动检查

scripts/checkpatch.pl -f   directory / *.c

Gerrit可以对kernel git增加此自动检查功能,保证代码提交质量。

二、代码风格自动整理

1、使用开源软件astyle自动整理

http://sourceforge.net/projects/astyle/files/astyle/

下载最新linux版本astyle ,编译:

cd astyle/build/gcc

make release

#!/bin/sh

#./astyle --style=linux --indent=force-tab=8 --align-pointer=name --max-code-length=90 --break-after-logical -p -H -U ./*.c  ./*.h

./astyle --style=linux --indent=force-tab=8 --align-pointer=name -p -H -U ./*.c  ./*.h

2、使用kernel脚本indent自动整理

参考:
http://blog.csdn.net/lixianlin/article/details/7820753

3、注释风格C99自动转换C89

// comment  修改成风格/* comment */

sed -i '/\/\//s/$/\*\//g' epl8802.c   
sed -i 's/\/\//\/\*/g' epl8802.c.

四、Auto format Linux kernel coding style

#!/bin/sh
#./astyle --style=linux --indent=force-tab=8 --align-pointer=name --max-code-length=90 --break-after-logical
-p -H -U ./*.c ./*.h
./astyle --style=linux --indent=force-tab=8 --align-pointer=name -p -H -U ./*.c ./*.h

files=$(find . -name "*.c")

for f in ${files}
do
    mv ${f} ${f}.org
    #./cconvert ${f}.org > ${f}
    sed -i '/\/\//s/$/\*\//g' ${f}.org
    sed -i 's/\/\//\/\*/g' ${f}.org
done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: