Cflow使用详解【转】

简介: 转自:http://blog.csdn.net/hanchaoqi/article/details/40922615 版权声明:本文为博主原创文章,未经博主允许不得转载。 最近使用cflow,根据Cflow提供的帮助对cflow的用法做了详细的整理。

转自:http://blog.csdn.net/hanchaoqi/article/details/40922615

最近使用cflow,根据Cflow提供的帮助对cflow的用法做了详细的整理。把常用的命令的用法贴出来。完整版请见http://download.csdn.net/detail/hanchaoqi/8136111

12、cflow选项的完整列表

这一章我们以字符序列出cflow的所有选项,包括简要的说明。所有的长选项和短选项都被列出了,所以你可以将这个表作为快速参考。
大部分的选项都有一个相反意义的负选项对应,负选项的命名是对相应的长选项加前缀no-.这个特性用于取消在配置文件中定义的选项。
-a (--ansi)
假设输入文件使用ANSI C编写。目前这意味着不能解析K&R声明的函数。这在某些情况下可以加快处理进度。
-b (--brief)
简要输出
--cpp[=command]
运行指定的预处理命令
-D name[=defn] (--define=name[=defn])
预定义名字作为宏。
-d number (--depth=number)
设置流图中嵌套的最大层数。
--debug[=number]
设置调试级别。默认值是1,如果你开发或调试cflow时使用这个选项。
--emacs
让访问文件时告诉Emacs使用cflow模式输出。
-f name (--format=name)
使用给定的输出格式名。合法的名字是gnu和posix。
-? (--help)
帮助,对每个选项作简要的说明。
-I dir (--include-dir=dir)
增加搜索头文件时,所需要的头文件所在目录。
-i spec (--include=spec)
控制包含符号的数量。spec是一个字符串,指定了哪一类符号应该包含在输出里。合法字符如下:
- ^ 输出中排除后接字符
+ 输出中包含后接字符(缺省)
_ 以下划线开头的符号
s 静态符号
t 类型定义(只在交叉引用时使用)
x 所有的数据符号,包括外部符号和静态符号
-l
--level-indent=string 指定每个级别缩进时使用的字符串
-m name (--main=name) 设定最开始调用的函数名。
-n (--number) 打印行号
-o file (--output=file) 指定输出文件,默认是’-’,即标准输出
--ommit-arguments 不打印函数声明中的参数列表
--omit-symbol-names 不打印所指定的符号名字,在posix模式下可用。
-r (--reverse) 打印逆向调用图
-x (--xref) 只生成交叉引用列表
-p number (--pushdown=number) 初始化令牌栈的大小。默认值64.令牌栈会自动增长,所以这个选项很少使用。
--preprocess[=command] 使用预处理
-s sym:class
--symbol=sym:class
--symbol=newsym:=oldsym
第一种形式,在语法类class中注册符号sym。合法的额类名是‘keyword’ (or ‘kw’), ‘modifier’, ‘qualifier’, ‘identifier’, ‘type’, ‘wrapper’。任何明确的缩写都是可接受的。
第二种形式(使用’:=’分割),定义newsym作为oldsym的别名。
-S (--use-indentation) 使用文件缩进作为提示。目前这个意思是右大括号 (‘}’) 在第零列强制cflow结束当前的函数定义。使用这个选项解析可能会对某些远产生误解。
-U name (--undefine=name) 取消之前所做的name的定义
-l (--print-level) 打印嵌套层数。层数在输出行的最后打印(如果使用了--number 或 --format=posix,层数会使用大括号括起来)。
-T (--tree) 使用ASCII码打印,调用树。
--usage 提供简短的使用信息。
-v (--verbose) 详细的打印出所有的错误信息。cflow中的错误信息与c编译器的错误信息是不一样的,所以这个选项默认是关闭的。
-V (--version) 打印程序的版本信息

【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
6月前
|
存储 缓存 Linux
C/C++发展方向(强烈推荐!!)(上)
C/C++发展方向(强烈推荐!!)
|
8月前
|
调度 C++
如何使用C++11原子操作实现自旋锁
C++自旋锁是一种低层次的同步原语,用于保护共享资源的访问。自旋锁是一种轻量级的锁,适用于短时间的资源锁定。
158 1
|
关系型数据库 Linux 数据库
Linux系统之安装mariadb方法
Linux系统之安装mariadb方法
1026 0
Linux系统之安装mariadb方法
|
Swift
Swift - 自定义tabbar的封装
Swift - 自定义tabbar的封装
295 0
Swift - 自定义tabbar的封装
|
存储 编译器 调度
【计算机体系结构】流水线冲突
【计算机体系结构】流水线冲突
1693 0
【计算机体系结构】流水线冲突
|
编译器 Linux C语言
PCI配置空间简介
一、PCI配置空间简介 PCI有三个相互独立的物理地址空间:设备存储器地址空间、I/O地址空间和配置空间。配置空间是PCI所特有的一个物理空间。由于PCI支持设备即插即用,所以PCI设备不占用固定的内存地址空间或I/O地址空间,而是由操作系统决定其映射的基址。
2532 0
|
设计模式 分布式计算 搜索推荐
Google | Python编程规范指南
优秀的代码,不仅仅是实现一个项目、一项功能那么简单,它不仅包含精妙的软件设计模式,还需要依托良好的语言和风格规范。依照编程语言的规范,不仅能够提升代码的可阅读性,还可以提升代码的可靠性,避免因为疏忽细节而造成的不必要错误。本文就结合《Google开源项目风格指南》和日常使用,来抽取出一些比较有用的Python语言规范和风格规范,希望对各位有所帮助。
|
网络协议 安全 Linux
Linux驱动开发: 网络设备驱动开发
Linux驱动开发: 网络设备驱动开发
325 0
Linux驱动开发: 网络设备驱动开发
vscode插件快餐教程(8) - LSP文本同步
这一节开始我们介绍下通过LSP进行文本同步的方法。
1623 0
|
NoSQL 开发工具 git
GDB 配置
调试器 GDB 的配置
5515 0