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

转帖|使用教程|编辑:况鱼杰|2020-11-11 13:46:33.600|阅读 85 次

概述:本文介绍了PC-lint Plus的使用方法:隐含规则、平台的makefile结构和平台级​。

# 31款JAVA开发必备控件和工具 # 企业数字化建设合规无风险[专题]

相关链接:

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

本文介绍了PC-lint Plus的使用方法:隐含规则、平台的makefile结构和平台级。

点击下载PC-lint Plus正式版


隐含规则

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

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

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

 .c.o: $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<  

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

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

平台的makefile结构

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

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

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

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

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

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

平台级

在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试用版免费评估~

相关内容推荐:

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


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


标签:测试静态检测工具

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
在线咨询
联系我们
TOP
在线客服系统
live chat