静态分析工具PC-lint Plus使用教程:平台的makefile结构和平台级?以及隐含规则

PC-lint Plus是一种静态分析工具,通过分析C和C ++源代码来发现软件中的缺陷。与编译器一样,PC-lint Plus会解析源代码文件,执行语义分析,并构建一个抽象语法树来表示程序。PC-lint Plus采用各种机制,包括数据流分析,数值跟踪,读写分析,强类型检查,功能语义验证和许多其他技术,来提供对单个文件和整个项目强大而全面的分析。

PC-lint Plus正式版


隐含规则

GNUake包含有一些内置的或隐含的规则,这些规则定义了如何从不同的依赖文件建立特定类型的目标。

GNUake支持两种类型的隐含规则:

*缀规则(Suffixule)。后缀规则是定义隐含规则的老风格方法。后缀规则定义了将一个具有某个后缀的文件(例如,.c文件)转换为具有另外一种后缀的文件(例如,.o文件)的方法。每个后缀规则以两个成对出现的后缀名定义,例如,将.c文件转换为.o文件的后缀规则可定义为:

c.o:(CC)(CFLAGS)(CPPFLAGS)co@<

*式规则(patternules)。这种规则更加通用,因为可以利用模式规则定义更加复杂的依赖性规则。模式规则看起来非常类似于正则规则,但在目标名称的前面多了一个% ,同时可用来定义目标和依赖文件之间的关系,例如下面的模式规则定义了如何将任意一个X.c文件转换为X.o文件:

%.c:%.o(CC)(CFLAGS)(CPPFLAGS)co@<

平台的makefile结构

平台的makefile文件也称为工程文件,主要由名为makefile和*.mak的两类文件构成。平台的makefile文件可以分为两个等级:平台级和子系统级。

平台级的makefile是生成最终的执行代码的工程文件,它还需要调用源程序体系中的子系统级的工程文件(或更深级别的工程文件)来最终完成自己的工作,它一般位于一级目录中的PROJECT目录。

子系统级的makefile,主要是根据不同的编译选项来生成各种类型的目标文件(例如、各种逻辑单板的DEBUG、RELEASE版),它一般分布在一级目录CODE的各子系统、模块的目录中。它所需的各种选项由平台级的工程文件传递下来。

PROJECT目录的组织规则是按照 元、物理单板和逻辑单板三层组织结构进行组织的。对于 元级目录,目前包括:BSC、PCF、AGW、HA、RNC、WCN,分别用来存放BSC、PCF、AGW、HA、RNC、WCDMAN的版本。

对于物理单板级,没有工程文件,在其下按照该物理单板支持的逻辑单板创建相应的逻辑单板的目录,对于一种物理单板,可能有多种逻辑单板,或者多种逻辑单板的合一版本。在本目录中,存放所有的逻辑单板以及一些典型的合一单板的目录。

对于逻辑单板级,存放的是相应逻辑单板的工程文件

平台级

在Project目录下,有下列文件。

  • CalculateCompilePara.mak:计算各种CPU的编译参数,包括字节序和编译器的路径等。
  • CheckParam.mak:输入参数的合法性检查。
  • CpuCompileOptionConfig.mak:配置各种CPU的编译选项。
  • DivisionPlatCompileControl.mak:用于配置编译平台或者事业部的选项。
  • LinkMultiCPUBoard.bat:用于有多个CPU时对每个CPU连接可执行文件。
  • LinkOneCPUVersion.mak:用于连接特定序 的CPU的可执行文件。
  • Makefile:顶级makefile,被makenet.bat调用,用于编译所有的 元的所有单板。
  • MakeNet.bat:编译 元的批处理文件。
  • MakeOneCpuType.mak:用于支持多种CPU子卡的编译
  • MakeOneNet.mak:被makefile调用,用于编译一个指定 元的所有单板。
  • MakeSubsystem.mak:用于编译指定的子系统
  • NetCommon.mak:调用RunMake.bat完成对一块单板的编译,并提供对单个子系统进行编译时的入口。
  • PlatCfg.mak:平台的配置文件,其中配置了平台支持的物理板、逻辑板、CPU等。
  • PlatLink.mak:链接文件。
  • Pub.mak:调用相关子系统的makefile,以便进行编译。
  • RunMake.bat:完成对Tornado路径的自动切换,并且调用Pub.mak开始编译。
  • VersionInfoConfig.mak:用于配置版本的信息,包括版本的路径以及版本 等。

相关内容推荐:

PC-lint Plus v1.3.5更新内容>>>


想要购买PC-lint Plus正版授权,或了解更多产品信息请点击【咨询在线客服】

标签:软件测试技术静态检测工具

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月8日
下一篇 2020年10月8日

相关推荐

发表回复

登录后才能评论