-
1
、
QAC
介绍和使用说明
其他的功能概括
1
< br>、提供一种可量化措施的代码度量值属性:
33
基于功能
32
基于文件和
4
个项目级别
2
、功能结构关系图,以提供控制流动洞察
3
、展示全局调用函数的关系图引用和文件树结构
4
、提供统计分析对代码质量的全面评估
< br>5
、跨模块分析能力(
CMA
)
、分析递归功能和全局标识符的各种问题
6
、简化的旧代码修改的设置基准模块
Source..c
文件通过分析工具生成
3
种文件
source.c.i
、
、
。
source.c.i
文件可以直接生成报告文件,
.met
、
.err
这两个文件可
以分析出功能结构、关系、特征标准、
报告或者进行跨模块分析,对于跨模块分析和剖析
器分析需要进行配置,
、
、配置文件可以在信息浏览器中显示
2
、
规划
2.1
、自动生成文件及参数说明
生成自动文档步骤:
1
、从文件菜单中选者
Auto-
Create Project
2
、进入
Root Folder N
ame
,这是工程的根目录,后面的自动生成的文件都会对应此根目录产
生
3
、进入
Starting Dire
ctory
,
这个源代码目录与工程的根目录相连
4
、进入
Output
File Path
,
这里可以选择
Q
AC
分析后的输出文件,好的情况就是用一个专门
的目录和工程
根目录相连
5
、
Replicate
source tree structure in output paths
通常
是为输出部分建立一个子目录结构,这里
可以有
2
种选择,可以选择
Parallel to Source Structu
re
为源代码建立一个平行的目录结构,
或者选择
Sub-path to each source
location
把规定的输出的子目录嵌入到源工程目录下面
6
、选择
File
< br>Extensions
可以加入项目,通常只要选择一个
.C
文件,包括对
.H
文件也就被加<
/p>
入
7
、
为文件夹选择一个个性,
可能会使用默认设置为起始点,
可以在
QAC
中选择
Con
figuration
菜单
8
、
点击
OK
就是建立
了工程,包含源文件工程和子文件夹
9
、保存文件,外部扩展名为
.prj
注意:
也可以在已有的项目上自动生成一个文件夹,
点击菜单
Edit > Auto-create Sub-Folder
s
,
其余
步骤和以上相同
文件夹参数:包括文件夹名称、默认源路径、输
出路径和三种个性
可以进入
Edit
> Folder
Parameters
只可以改变文件夹参数,进入
Edit
> Propagate Changes to
Sub-
Folders
可以改变所有子文件夹参数
2.2
、手动生成文档及参数说明
生成手动文档步骤:
1
、从菜单
File
中
选择<
/p>
New Project
,
显示一个对话
框
New Project Parameters
2
、进入
Root Folder
Name
,输入一个项目名称
3
、进入
Default
Source
Path
为项目初始化文件夹,这个路径可以改变所有子文件夹
4
、在
Output File
Path
中选择需要输出的分析文档
5
、为工程选个个性
6
、
点击
<
/p>
OK
创建项目,这工程的配置是唯一的文件夹
7
、按要求增加更多的子文件夹和文件按要求
8
、保存文件,外部扩展名为
.prj
文件夹参数
;
在
File > Reopen
这项中可以有
10
多个选项,当没用的文件可以选择
Clean-
up
。
文件和目录的位置时重新打开
项目,
将检查的存在。
如果不存在一个条目将显示下面的对话<
/p>
框。有的更正可以自动应用的过程。
2.3
、选择输出文件
一般文件夹的层次结构在在左边显示,选择的列表在文件的右边显示
所有的选择都在
Browse
和
d
Reports
这两个菜单中
A
、如果选择单个文件或一组文件,则使用
B
、否则当前所选文件夹,再加上所有子其文件夹,窗体所选内
容。这意味着使用这些文件
夹中的所有文件。
在浏览器内修改,有可能会改变开始的选择,用
Select
Files
…
在
File
菜单内
2.4
、互相比较和环境变化的报告
2.4.1
、根路径
2.4.2
、基于
GUI
的环
境变量创建
2.4.3
、相对路径和
环境变量的运用
选择
Apply Relative Paths
项可以选择相对路径减少的所有文件条目,根目录在右上角,表示
保存项目文
件的位置,确定路径是否合适相对路径减少。
选择
Make file paths in each
folder relative to its Default Source Path entry
p>
项,
如果想要应用一个虚
拟的环境变量表达
默认每个文件的源路径到其他文件条目下。
在
Available Environment
Variables
列表下,可以添加
EVs to Appl
y
至右边框中,将这种替换只发
生在项目中的项的文件或关联的
路径不受相对路径减少的个性
选择
Apply path reduction to
personality file entries associated with the proje
c
t
项,为了继续应用相
对路径和环境
变量在文件路径下的个性定义
选择
Remove all path reduction
from the project and associated personalities
项若要撤消所有的相对
路径和环境变量从相关个性设置项目恢复到完全在所
有情况下限定的路径
例如,一个被重建的
“
Diff
”
项目如下所示与充分
的
relative
道路实施
3
、
配置
QAC
为应用程序配置主要通过可访问
Configuration
> Options
选项卡
,
有以下几
点:
Annotated Source
附加说明源
Cross-Module Analysis
跨模块分析
Custom
Reports
自定义报告
Default
Personalities
默认特性
Editor
Preferences
编辑选项
Environment
环境
(Product)
Extensions
(产品)条目
Project File Options
项目文件选择
要查看您的安装与那些
一起中的个性的一组在您的项目中定义,可以在
Configuration
下选择
Message Personalities,
Analyser Personalities
or
Compiler
Personalities
这几个选项
当创建了一个额外的特性,也可以设置它们成为系统默认,在
Configurat
ion>Options>Default
Personalities
下设置
3.1
、配置编译器特性
看附录
A
3.1.1
、设置系统头文件
在系统包括系统标题选项卡上的标题,设置您系统标头包含路径
可以点击
Suppress Output
阻止这些头文件,当阻止了那些头文件,一些从特定的头文件或路
径中产生的分析数
据也不能在
.err
、
.met
文件中出现
您可以手动输入是相对于当前项
目的路径位置,
虽然建议进行完整路径选择和然后将任何选
择的
道路减少保存项目的过程中的应用操作
3.1.2
、设置系统宏
在
System Macro
Defines
下的
Project Macros
菜单中,设置宏同编译器或开发环境一致,宏可
以在
Compiler
Personality
或
Analyser
Personality
设置
3.1.3
、设置实现定义的类型
<
/p>
在
c
编译器里有
3
中类型定义,在
“implementation
defined”
中选择,如下:
size_t
一种无符号必需类型通过
sizeo
f
操作表示返回类型
ptrdiff_t
一种有有符号必需类型用减法运算的两个指针来表示
wchar_t
它反映了类型的范围内的整数类型字符文本和宽字符字符串
在
Data
Types
下的
Intrinsic Types
条目控制这些类型的方法实施,需要以匹配编译器配置环
境。所载入的任何相
应类型声明头文件(
e.g.
stddef.h, stdi
o.h
)必须反映内在匹配值类型。
如果不符合,
qac
提示等级
9
的警告,
如有必要,检查您的头文件确定适当的设置这些选项。
如上所
述:
QAC
随提供一套标准库的头文件,
如果想改变这些类型定义,
必须先明白
QAC
内部
的定义类型,因为那些头文件包含一些声明
ptr
diff_t, size_t
和
wchar_t
,还有
3
种宏指令定义
P
RQA_PTRDIFF_T, PRQA_SIZE_T,
和
PRQA_WCHAR_T
,
3.1.4
、编译器扩展
许多编译器制造商实施
ISO C
的扩展语言定义来利用特定的硬件环境。
特别是在嵌入式软
p>
件代码的速度和空间是重要
使用的语言扩
展的危险是他们妥协可移植性。源代码越来越依赖于编译器和硬件环境。
QA C
是能够分析各种不同的语言变体和扩展,
但它不是通常能够解释扩展在语义上。
通常,
必须
配置该工具等,非标准关键字将被忽略。
有几种方法可以为此
配置
QAC
,看附录
B
–
extensions
部分
标准扩展:在
Extension Classes
选项里,可以使用更多是
C
语言扩展,如
near
、
far
、<
/p>
huge
宏定义扩展关键字:编译器制造商经常介绍这种关键字
如
idata,
tiny,
xhu
ge
去指定存储和
分配内存中的数据,可以在
< br>System Macro Defines
选项中配置
_ignore
宏:到
QA C
须知忽略不只是一个但的启动与指定的关键字的标记
的序列的关键
字。它指定一个宏的定义,定义中的几个之一的关键字方法
如下:
扩展到数据类型的
重新定义:有时扩展的数据类型可引入到语言解决内存反映
I/O
端口或
执行有效位解决。
p>
这些数据类型通常标准重新定义数据类型分析,
期间通过引入一个宏
或一
个类型。为示例,通过经常提供特殊功能寄存器访问数据类型如
sfr
和
sbit
。
操作:标准
ISO C
运算符
^
和
.
在非标准的方法中使用与特殊函数位选择注册数据类型。<
/p>
如果数据类型是
转移定义最好,或重新定义为上述,建议,
^
运算符将成功地进行分析和
解释为一个按位独占
t;<
/p>
运算符。在。运算符,通常是结构
/
联合
成员选择运算符也是认识到作
为有点选择运算符使用时的质量保证,但
< br>3664
会生成警告。可以取消此警告,如果你想要
使
用了。这种方式中的运算符。
3.2
、配置分析仪特性强制包括文件:可以通过将它们合并到一个人格定义的宏。如果要定
义
typedef
他们必须指定在您
源代码。但是,而不介绍他们直接到你源的代码或头文件通
常最好创建一个特殊的是头文
件,并将强制包括此文件包含在分析过程中。在
Extensions
< br>选
项下的
Additional Include
File
菜单中编辑这个特性
将标记
指定的强制文件运行时将显示等级
9
的错误
3.2.1
、设置项目头文件
在
Project
Headers
选项下
Header
Includes
条目中,设置项目头文件
< br>排序列表中的文件是重要的。
QAC
将寻找目录按指定的
顺序列出
3.2.2
、设置项目宏
在
Project
Macros
选项下
Project Macro
Defines
条目中设置项目宏
3.2.3
、设置括号样式和选项间距
在
S
tyl
e
菜单中,选择一个
Brace
Style
,在
Source Code Tab
Spacing
指定你的选项间距
3.3
、配置信息特性
由于诊断检查由
QA C
执行大量的诊断输出可能会非常大。一些生成的消息不可能适用于
您的项
目和环境。因此,是重要的是能显示诊断输出的子集有关消息
作为一个的起点那些限制的消息的子集,
例如,
突出显示在您的
代码中最严重的问题配置和
语法错误。
通常,
< br>您的源代码应不包含任何这些消息。
如果生成它们通常不正确的配置或语
法错误的征兆,您编译器将忽略
通过选择消息
的这个有限的子集,您将突出项目中没有被正确的配置
注意:使用文件夹参数
(
ctrl + F
显示对话框中)
以确保你更改当前正
在使用中的个性文
件您项目文件夹设置
3.3.1
、选择消息子集
最简单的方式来限制以启用信息的子集去取消级别,在
Message
Personality
选项里的
Warning
Messages
条目,一开始所有的信息是在
W
arning Messages
里的
Message
Groups
项,右击选择
Switch Message
Level Off
注意:
9
级消息
配置、语法、限制错误等。第九级消息无法禁止。隐含的消息级别将出现一
个红色的
p>
X
。消息不会在这个级别出现
3.4
、标准信息文件
在质量保证
C
标准的消息系统组织成级别和组。
有
10
级别提供的默认消息集和在每一个
这些级别是代表一个无限组进一步的消息输出的分工。
标准信息文件可以是增强与用户
信息
文件。
3.4.1
、等级
0
:消息
级别最低的警告
< br>3.4.2
、等级
1
:不使用的
3.4.3
、等级
< br>2
:次要的
第
2
级信
息标识可能侵犯编码标准的问题要求,但这不一定严重的错误。第
2
级信息组
是统计的不同方面与关联
语言。
3.4.4
、等级
3
:主要的
第
3
级消息可能辨认出一些严重的编码错误、
反常
或问题,
这些消息
(如
8
级
7
和
9
)
通
p>
常被认为太重要了,
没有好的理由是不能忽略的,
< br>第
3
级消息组是与不同相关联
C
语言的
方面
3.4.5
、等级
4
:地方标准
标示的信息不符合编程规范