常用的C/C++代码格式优化工具有两个,一是老牌的indent,再一个就是astyle了。

astyle不但可以对C/C++进行格式优化,还可以处理Java和C#。版本一直在保持更新,很不容易,截止2011-12-02,已经升级到V2.02.1。

通过命令““astyle -V”可以查询版本信息,最新版本的源代码和可执行文件可以在此处【下载】。

网络上已经有很多博客介绍过astyle,如《在VS 2008中使用astyle代码格式化工具》。

不过介绍中对astyle的参数存在些许偏差,可能是版本升级后参数发生了变化。

通过命令“astyle --help”可以获取所有参数的介绍(帮助信息里还有错字呢,有兴趣大家可以找找看)。

下面的命令可以一次性格式化某个目录下所有的源文件和头文件,非常好用,标记一下。

for /R %f in (*.cpp;*.c;*.h) do astyle --style=ansi  "%f"

基于V2.02版本,astyle主要支持的参数有:

Style-格式配置:

最常用的就是ansi或或kr格式,实际上,kr,stroustrup和linux这三种格式是非常接近的了,试了好几个文件,只有非常微小的区别,可以忽略不计。stype选项--style=allman

--style=ansi

--style=bsd

--style=break

-A1--style=java

--style=attach

-A2--style=kr

--style=k&r

--style=k/r

-A3--style=stroustrup

-A4--style=whitesmith

-A5--style=banner

-A6

代码风格int Foo()

{

if (isBar)

{

bar();

return 1;

}

else

{

return 0;

}

}int Foo() {

if (isBar) {

bar();

return 1;

} else {

return 0;

}

}int Foo()

{

if (isBar) {

bar();

return 1;

} else {

return 0;

}

}int Foo()

{

if (isBar) {

bar();

return 1;

} else {

return 0;

}

}int Foo()

{

if (isBar)

{

bar();

return 1;

}

else

{

return 0;

}

}int Foo() {

if (isBar) {

bar();

return 1;

}

else {

return 0;

}

}

stype选项--style=gnu

-A7--style=linux

-A8--style=horstmann

-A9--style=1tbs

-A10--style=pico

-A11--style=lisp

-A12

代码风格int Foo()

{

if (isBar)

{

bar();

return 1;

}

else

{

return 0;

}

}int Foo()

{

if (isBar) {

bar();

return 1;

} else {

return 0;

}

}int Foo()

{   if (isBar)

{   bar();

return 1;

}

else

{   return 0;

}

}int Foo()

{

if (isBar) {

bar();

return 1;

} else {

return 0;

}

}int Foo()

{   if (isBar)

{   bar();

return 1; }

else

return 0; }int Foo() {

if (isBar) {

bar();

return 1; }

else

return 0; }

其他常用的参数:-C类中public,pretected,private关键字,一个tab的缩进

-Sswitch中case关键字,一个tab的缩进

-Kswitch中case关键字,无缩进

-N被namespace包含的block,一个tab的缩进

-w格式化多行的宏定义

-c将tab转化为对应个数的空格

--mode=c格式化的是C/C++的源文件或者头文件(缺省值)

--mode=java格式化的是JAVA的源文件

--suffix=####将原始文件保存为“####”后缀,而不是“orig”

--suffix=none不保存原始文件

--exclude=####优化时不包含“####”文件或目录

-Z修改后保持文件的修改时间不变

-X将错误信息输出到标准输出设备(stdout),而不是标准错误设备(stderr)

-Q只显示格式化前后发生变化的文件

-q不输出任何信息

-z1使用windows版本的回车符(CRLF)

-z2使用linux版本的回车符(LF)

--help显示帮助信息

-v显示版本信息

devc astyle c语言,C/C++代码格式优化工具----astyle相关推荐

  1. html代码在线优化工具,HTML代码优化工具-WordPress编辑器增强功能插件

    插件概述 HTML代码优化工具(Clear HTML Tags)是一款站长实用的WordPress文章编辑辅助插件,可以帮助站长快速实现删除HTML代码不需要的常见HTML标签及标签属性,常用的代码格 ...

  2. 代码一键美化工具Astyle,非常实用

    点击上方"小麦大叔",选择"置顶/星标公众号" 福利干货,第一时间送达 1 Astyle介绍 Astyle全称Artistic Style,是一个免费,快速,小 ...

  3. c语言bmp转换jpeg_PDF格式转换工具

    Cisdem PDF Converter OCR for Mac是一款Mac平台的PDF格式转换工具,可以帮助我们将PDF格式的文件转换成Word, Text, Excel, ePub, Keynot ...

  4. 通关GO语言19 性能优化:Go 语言如何进行代码检查和优化?

    在上节课中,我为你留了一个小作业:在运行 go test 命令时,使用 -benchmem 这个 Flag 进行内存统计.该作业的答案比较简单,命令如下所示: ➜ go test -bench=. - ...

  5. JS代码在线优化工具

    最近网上找各种在线优化.美化JS代码的工具,可太难了.不过总算被我找到一个宝藏网站,不仅能   JS代码美化.简化.还能对代码进行加密和解密. 地址直接百度搜:盛迭工具箱 而且还是免费使用的,太好了.

  6. 看完这篇文章再也不用担心代码格式不对无法合并了

    本文由RT-Thread论坛用户@RTT_逍遥原创发布:https://club.rt-thread.org/ask/article/3121.html GITHUB仓库: git_auto_scri ...

  7. 内联函数和编译器对Go代码的优化

    什么是内联函数 图片版权:Renee French. 在很多讲 Go 语言底层的技术资料和博客里都会提到内联函数这个名词,也有人把内联函数说成代码内联.函数展开.展开函数等等,其实想表达的都是 Go ...

  8. 代码格式调整 Astyle 基本使用

    微信搜索:编程笔记本 点击上方蓝字关注我,我们一起学编程 欢迎小伙伴们分享.转载.私信.赞赏 微信搜索:编程笔记本 亲爱的小伙伴们,好久不见!秋招结束了,大家应该也都拿到自己心仪的 offer 了吧- ...

  9. keil4如何将c语言转换成汇编语言_Keil 中关于C语言编译生成汇编代码函数名规则...

    在keil 中 C语言的函数有带参数和不带参数之分. 一般的资料里说fun(void)类型的函数不带参数,所以,keil编译器生成的汇编的调用地址(函数名) 为fun.这没有错.事实上,不管C语言的函 ...

最新文章

  1. Window对象中setInterval()和setTimeout()的区别
  2. 玻璃上的编码喜悦(+ 10史诗般的Epigrams)
  3. 「AI大咖」ML宗师乔教主,全世界最有影响力的计算机科学家
  4. python第三方库安装-python的第三方库安装
  5. Python_操作txt、xls、csv、PDF
  6. 最全HTML与CSS基础总结,不进来看看吗?
  7. 《像计算机科学家一样思考Python(第2版)》——1.3 第一个程序
  8. linux下printf函数为什么不加\n就不能输出相关的内容 ?
  9. 如何知道计算机是否支持64位,查看CPU是否支持64位操作系统的简单方法
  10. python汽车_Python 小车代码
  11. 5.6.3 分组总计查询
  12. 【Laravel框架】对于Laravel框架架构的研究以及视图方法和内置会话在项目里的运用
  13. 迪克斯特拉算法--Dijkstra's Algorithm
  14. Camstar开发:缓存的设计与实现(整合Redis实例)
  15. 荣耀电视鸿蒙系统安卓,荣耀智慧屏发布,使用鸿蒙OS系统,兼容安卓手机
  16. Linux——gdb调试时多进程切换方法(attach/follow-fork-mode)
  17. 自动驾驶车载激光雷达-数据集整理
  18. 完美牛棚(匈牙利算法)
  19. 送书!狼书三卷终大成,狼叔亲传Node神功
  20. 自学实践前后端项目4 MMall商城 4

热门文章

  1. 數學文書處理 5 Geogebra 與 Latex 探索呈現109教甄
  2. 黑客技术:Kali Linux如何入侵WiFi?秘诀在这里...
  3. Android UsbAccessory中你需要小心的坑及解决方案
  4. BVT测试(冒烟测试)
  5. Python实现三维点到直线的投影
  6. 「清华系」的网络安全大佬们丨110 周年校庆
  7. 高段位的项目经理是怎么做项目管理的?
  8. 60个项目管理甘特图表模板--PM圈子
  9. 高通芯片为什么输苹果_苹果的W1芯片是什么?
  10. Servlet运行的详细步骤