"); //-->
简介:在给RTT 提交代码,需要符合RT-Thread 的代码规范,本文简单介绍如何使用Astyle 格式化为符合RTT要求的代码风格。
关于Astyle
Astyle 的全称是Artistic Style的简称,是一个开源的源代码格式化工具,可以对C,C++,C#以及Java等编程语言的源代码进行缩进、格式化、美化。
Home Page: http://astyle.sourceforge.net/
Project Page: http://sourceforge.net/projects/astyle/
在Keil μVision中集成Astyle(以Keil μVison5为例)
①下载Astyle,解压到任意位置(Astyle为绿色软件)
下载地址:
链接:https://pan.baidu.com/s/1cGh2yA7T0F22hpVulz60GQ
提取码:m4hh
②µVision5中单击Tools菜单---Customize Tools Menu

③添加Astyle All Files 和Astyle Current File菜单(自定义菜单名,可以使用中文)
这里添加了两个菜单,分别是格式化当前文件和格式化project中的所有文件。

④添加Command命令:单击...按钮,在Astyle的安装目录中选择Astyle.exe。
⑤Arguments:
Astyle Current File菜单填写 -n !E --style=allman --indent=spaces=4 --indent-preproc-block --pad-oper --pad-header --unpad-paren --suffix=none --align-pointer=name --lineend=linux --convert-tabs --verbose 当前文件
Astyle All Files菜单填写 -n "$E*.c" "$E*.h" --style=allman --indent=spaces=4 --indent-preproc-block --pad-oper --pad-header --unpad-paren --suffix=none --align-pointer=name --lineend=linux --convert-tabs --verbose
当前文件所在文件夹中的所有.c 和.h文件
注:!E 表示的是当前获得焦点且正在编辑的文件。
$E*.c和$E*.h代表当前获得焦点且正在编辑文件所在目录下所有.c和.h文件(参考keil uVision的帮助文档)
使用的是Astyle默认格式来格式化文件,另外也可以自定义格式,自定义格式参考Astyle的帮助文档。默认格式化后,会备份原文件为 源文件名.orig。如果不想让Astyle备份文件,可以使用-n参数。 如:-n !E (表示格式化当前文件,不备份)

⑥实际使用效果如下:

使用格式化命令后:

显示已经完成:

注:RTT 使用参数简要说明:具体可看D:GEN_FILE_000005_V1.0%20AStyle_3.1_windows\AStyle\doc 中说明
用 astyle 自动格式化代码
--style=allman 此风格大括号 单独使用一行
--indent=spaces=4 缩进 4个空格
--indent-preproc-block 按块进行预处理
--pad-oper 在操作符前后添加空格
--pad-header 在if for while 等后面插入空格
--unpad-paren 移除括号里面多余的空格
--suffix=none 不需要备份 也就是 -n
--align-pointer=name *, &, or ^ 挨着变量名放置
--lineend=linux 行结束风格Valid options are windows (CRLF), linux (LF), and macold (CR).
--convert-tabs 缩进时将tab 转换成空格
--verbose 详细的显示模式
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
赛灵思Virtex-7特性和应用介绍
采用程控集成运放的测量放大电路
数字悬浮控制系统中的降噪方法及实现
高精度线性放大电路
数字信号处理器TMS320F206复位问题研究
CES获奖:现代汽车MobED移动机器人平台
数字正交上变频器AD9856的原理及其应用
help:为什么 在UCLINUX下PING 外部的IP地址不通
CES获奖:Oshkosh JLG搭载机器人末端执行器的曲臂式高空作业平台
CES获奖:杭州云深处科技Lynx M20 Pro轮腿式四足机器人
我就是我lxw_1602实时时钟
奇怪的很,s3c44b0串口突然发不出数据,不太可能是硬件问题
CES获奖:Navifra NaviDock全球首款无标记视觉对接系统
精密电桥传感放大电路
CES获奖:ULS Robotics VIATRIX系列扩展动力外骨骼
骑车机器人村田顽童、村田婉童的非凡技艺
赛灵思Virtex-7 GTX收发器演示
数字视频信号的长线传输
数字信号处理器DSPs的发展
赛灵思Virtex-7 2000T 演示
为什么 在UCLINUX下PING 外部的IP地址不通
高共模范围的测量放大电路
宽带低噪声放大电路
CES获奖:Sharpa SharpaWave灵巧机器人手
CES获奖:HUROTICS H-Medi Pro精准康复专用个性化舒适型机器人外骨骼服
CES获奖:Lyte AI LyteVision智能感知平台
[求助]关于固化
进口英文原版IC图书------二极管三极管集成电路参数资料
CES获奖:HUMANICS SEGYM RT智能互联机器人训练平台
CES获奖:Corning公司汽车显示屏的先进防反射表面处理