1 PGRelief的安装
硬件方面:CPU:Intel系列的在PIII 1G或者以上即可;SPARC的在300MHZ以上的
即可。内存:推荐为1G以上内存。
软件方面:目前GUI版本的PgRelief可以运行在如下软件平台:
Windows2000/XP 日文版本
Redhat Linux 7.3/9.0 日文版本
Solaris 7/8/9 日文版
2 PGRelief界面版的使用
使用PGRelief进行静态分析的过程基本分为四步:创建分析项目、配置分析选项、进行分析、查看分析结果 。
2.1 创建分析项目
创建新项目 :点击主文件->新建项目
设置项目信息
包括如下内容:
设置项目名
设置项目文件存放路径
说明项目概要信息
选择分析对象代码 (选择要对哪些源代码进行解析。目前PgRelief只支持对C/C++代码的检查)
2.2 配置分析选项
配置分析选项是整个分析过程中比较困难和麻烦的一步,只有配置正确,才能使PGRelief正确分析代码。
其中,必须要设置编译、宏定义、头文件路径。
2.2.1 设置编译器
由于不同的编译器以及不同的操作系统对 C/C++语言中的一些细节行为的处理是不同
的,因此必须根据被分析代码原先的开发环境(操作系统和编译器),在PGRelief中选择相
应的编译器选项。
2.2.2宏设置
在这里可以定义或者取消定义一些宏,如下图所示:
一般而言这里是不需要特别进行设置的,但是如果在编译程序时定义了一些
影响到程序编译的重要的宏,则需要在这里加以定义,如在linux下makefile
里面定义的宏。
2.2.3标准头文件和用户自定义头文件
用户自定义头文件 :用户头文件目录的设定,是需要用户自己手动添加:当前解析的cpp 或者c 文件,所要用到的所有的用户自定义的头文件的路径。注意,不能有遗漏。
标准头文件 :标准头文件目录的设定类似于用户头文件目录的设定,是需要用户自己手动添加:当前
解析的cpp 或者c 文件,所要用到的所有的标准库的头文件的路径。注意,不能有遗漏,并且要有先后次序。
2.2.4 其它
除了以上三项是必须之外,剩下的选项是可选的。用户可以根据自身的要求,并结合帮助
文档,进行更加详细的,符合自己要求的设置。
2.3 进行分析
分析的步骤
在完成对分析选项的配置后,就可以开始进行解析了。对一个项目的解析包括两个阶段:
单文件分析(在这个阶段会逐个对项目中的每个文件进行分析);文件间分析(在所有文件的单文件分析都完成的情况下,将所有文件的全局信息连接起来进行分析)。
分析的方式
用户可以选择多种方式进行解析:
全体解析:对当前项目下所有文件进行解析,包括单文件分析和文件间分析
选择解析:对选定的一个或者多个文件进行解析,此时仅仅进行单文件分析
差分解析:对项目中所有还没有分析的文件进行分析,并最后执行文件间分析。
分析错误的解决
一般来说,文件分析中断主要是由头文件找不到或者源文件不符合C/C++标准导致的。根据
我们的经验,总结了以下几种错误情况:
找不到 头文件 |
忘记添加头文件 |
添加头文件 |
文件中以 #include <****.h> 格式包 含用户编写的头文件 |
根据头文件被引用的格式,应该把该头文件添加到标准头文件中 |
|
头文件是以相对路径形式包含的,如 #include "****.h" |
系统把设置的头文件路径做为当前路径, 需要重新设置头文件路径 |
由于头文件配置错误引起的中断,需要重新配置头文件。
2.3.4 其它解析操作
保存解析信息:参见下图:
2.4 查看分析结果
可以通过以下2种方式查看指摘信息:根据指摘号来查看指摘信息;根据指摘出现的文件来查看指摘信息。
其它操作:
查看指摘的源文件处:选中一条指摘信息 --> 点击主菜单打开pgr浏览,系统会自动定位到指摘的位置
3 PGRelief命令行的使用
3.1 配置分析选项
3.1.1设置编译器
指定编译器。
用法:
pgr -K GNU/GCC3 a.cc
[支持的编译器一览]
公司 |
编译器 |
[DIAB DATA Company] |
DIABDATA/DCCANSI 、DIABDATA/DCCKANDR、DIABDATA/DCCSTRICT、DIABDATA/DCC |
[FUJITSU Products |
FUJITSU/FCC401、FUJITSU/FCC401C、FUJITSU/FCC401、FUJITSU/SOFTUNEF2MC16B FUJITSU/SOFTUNEFRB、FUJITSU/SOFTUNEFR |
[GNU Products] |
GNU/GCC、GNU/GCC3、GNU/GCC3_C90、GNU/GCC4、GNU/GCC4_C++03、GNU/GCC3_C90 |
[Microsoft Visual C++ Compiler] |
MS/VC1、MS/VC4MFC、MS/VC4、MS/VC42、MS/VC42MFC、MS/VC5、MS/VC5MFC、MS/VC6、MS/VC6MFC、MS/VC6WIN64、MS/VC2003、MS/VC2003MFC、MS/VC2005、MS/VC2005MFC MS/VC2008、MS/VC2008MFC、MS/VC2010、MS/VC2010MFC、MS/VC2010CLR |
[Mentor Graphics Japan Co.Ltd. Products] |
MGJ/MRIPC、MGJ/MRISUN |
[HITACHI Products] |
HITACHI/SH、HITACHI/H8 |
[RENESAS company] |
RENESAS/78K0R、RENESAS/740、RENESAS/7770、RENESAS/H8——300、RENESAS/H8S、RENESAS/M16C RENESAS/M16C80、RENESAS/M32C、RENESAS/M32R、RENESAS/RX\RENESAS/superH |
Sun Microsystems |
SUN/SPARC3、SUN/SPARC4、SUN/SPARC4C、SUN/SPARC4S、SUN/SPARC5、SUN/SPARC5C、SUN/SPARC5S、SUN/SPARC42、SUN/SPARC42C、SUN/SPARC42S、SUN/SPARC201、SUN/SPARC301、 SUN/SPARC301C、SUN/SPARC301S |
NFC |
NFC/78K0、NFC/78K0S、NFC/78K4、NFC/V850 |
3
相关推荐
基于transUnet和swinUnet的医学图像分割项目实验对比,包含完整代码,可以一键运行。评估指标包括dice、iou、recall、precision等
,stm32f030无感foc方案,资料包括原理图,pcb,源程序,观测器参数,电流环参数计算表格。
分布式电源DG选址定容优化及帕累托最优解集的粒子群算法研究,多目标粒子群算法 分布式电源 DG 定容选址 网损 成本 电压偏差 通过分布式能源的选址定容确定得到帕累托最优解集,然后选择最优值进行分析,程序采用改进粒子群算法, ,核心关键词:多目标粒子群算法; 分布式电源选址定容; 网损; 成本; 电压偏差; 帕累托最优解集。,改进粒子群算法在分布式电源选址定容中的应用:优化网损与成本,考虑电压偏差
交变磁场感应材料对沥青路面温度影响的研究,交变磁场下含感应材料沥青路面温度 ,交变磁场; 感应材料; 沥青路面; 温度; 变化; 加热效率,交变磁场对含感应材料沥青路面温度的影响研究
基于Comsol模拟的三层顶板随机裂隙浆液扩散模型:考虑重力影响的瞬态扩散规律分析,Comsol模拟,考虑三层顶板包含随机裂隙的浆液扩散模型,考虑浆液重力的影响,模型采用的DFN插件建立随机裂隙,采用达西定律模块中的储水模型为控制方程,分析不同注浆压力条件下的浆液扩散规律,建立瞬态模型 ,Comsol模拟; 随机裂隙浆液扩散模型; 浆液重力影响; DFN插件; 达西定律模块储水模型; 注浆压力条件; 浆液扩散规律; 瞬态模型,Comsol浆液扩散模型:随机裂隙下考虑重力的瞬态扩散分析
对于Sqlserver数据库只是提供了简单的图形化的导出导入工具,在实际的开发和生产环境不太可能让用户在图形化的界面选择移行的对象,进行移行。 我们在数据库的移行中也遇到这种问题,需要提供一个工具给客户使用。所以我们开发了针对SQLServer数据库的cmd形式导入导出的工具。在长期的实践中不断完善,基本可以实现Oracle的导入导出工具的80%的功能,也比较的稳定。有需要的可以下载使用,也可以提供定制化的服务
内容概要:本文介绍了DeepSeek模型在不同平台上部署的方法。首先阐述了基于Ollama的本地部署,包括Ollama的安装、模型拉取以及交互模式的使用。接着讲解了DeepSeek在移动设备(iOS和Android)上的部署细节:iPhone需要通过Safari安装快捷指令,配置API Key并通过快捷指令测试运行;Android则借助Termux安装必要组件,并手动搭建Ollama环境以加载和测试模型。最后详细叙述了基于Open WebUI部署的方式,涉及Ollama、Docker Desktop及Open WebUI的安装流程及其之间的配合使用来最终达成模型的成功部署。 适用人群:面向有兴趣了解或者实际操作DeepSeek模型跨平台部署的技术开发者、研究人员以及AI爱好者。 使用场景及目标:适用于希望利用DeepSeek模型快速构建本地化应用程序、开展实验研究的用户;具体目标为掌握DeepSeek模型在桌面系统(如Linux、macOS、Windows)、iOS和Android智能手机以及云端WebUI界面上的不同部署手段和技术。 其他说明:对于每种类型的部署都提供了详细的步骤指导,旨在帮助使用者顺利完成所需工具和环境的安装,并确保模型能够正常工作。文中给出的具体链接和命令行脚本,有助于降低初次接触者的上手难度,提升部署效率和成功率。此外,还强调了一些重要的配置注意事项,例如正确输入API key以及对Ollama的初始化检查等。
,FOC 无感 混合磁链观测器 电机控制 代码 PMSM MiniDD(直驱)电机变频无感程序,包含偏心,重量,共振等感知算法,所有算法都不基于库函数,MCU底层配置完全手写
nodejs010-nodejs-cmd-shim-1.1.0-4.1.el6.centos.alt.noarch.rpm
基于S7-200 PLC的交通灯倒计时控制及组态王界面实现原理图解析,S7-200 PLC和组态王交通灯带倒计时控制 923 47 带解释的梯形图接线图原理图图纸,io分配,组态画面 ,S7-200 PLC; 交通灯; 倒计时控制; 组态王; 梯形图接线图; IO分配; 组态画面,"S7-200 PLC与组态王交通灯倒计时控制:梯形图原理及IO分配详解"
西门子四轴卧加后处理系统:828D至840D兼容,四轴联动高效加工解决方案,支持图档处理及试看程序。,西门子四轴卧加后处理,支持828D~840D系统,支持四轴联动,可制制,看清楚联系,可提供图档处理试看程序 ,核心关键词:西门子四轴卧加后处理; 828D~840D系统支持; 四轴联动; 制程; 联系; 图档处理试看程序。,西门子四轴卧加后处理程序,支持多种系统与四轴联动
FPGA篮球赛事24秒倒计时计时器设计与实现(基于Verilog与VHDLL的优化对比),基于fpga篮球倒计时24s。 verilog和vhdl两个版本 ,基于FPGA篮球倒计时24s; Verilog版本; VHDL版本,FPGA篮球比赛倒计时24秒系统:Verilog与VHDL双版本实现
论生成式AI在大学生学习中的应用与伦理问题.pdf
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
"S7-200plc与MCGS智能居家控制系统的深度融合:组态画面、IO分配与梯形图接线图原理详解",No.63 S7-200plc和 MCGS智能居家控制系统组态 带解释的梯形图接线图原理图图纸,io分配,组态画面 ,核心关键词:S7-200plc; MCGS智能居家控制系统; 梯形图接线图原理图; io分配; 组态画面。,"S7-200 PLC与MCGS智能居家系统组态及梯形图原理图解析"
方便暖通工程师及板换用户了解艾齐尔板式换热器选型计算,免费使用。
《四层三列堆垛式立体库控制系统:带解释的梯形图接线原理图及IO分配与组态画面详解》,4x3堆垛式立体库4层3列四层三列书架式立体库控制系统 带解释的梯形图接线图原理图图纸,io分配,组态画面 ,立体库; 堆垛式; 控制系统; 梯形图; 接线图; 原理图; IO分配; 组态画面,"立体库控制系统原理图:四层三列堆垛式书架的IO分配与组态画面"
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx