当前位置: 首页 > news >正文

提供做网站企业做网站要注意哪一点

提供做网站企业,做网站要注意哪一点,北京朝阳区最好的小区,下载服务器安装概述 PolySpace是MATLAB里面代码静态检查工具。通过检查源代码#xff0c;可以确定可能在哪里发生潜在的运行时错误#xff0c;例如算术溢出#xff0c;缓冲区溢出等等。它最大的特点是可以检查车企常用的MISRA C标准#xff0c;还免费#xff0c;就让各大车企爱不释手。…概述 PolySpace是MATLAB里面代码静态检查工具。通过检查源代码可以确定可能在哪里发生潜在的运行时错误例如算术溢出缓冲区溢出等等。它最大的特点是可以检查车企常用的MISRA C标准还免费就让各大车企爱不释手。 Polyspace有两个软件一个为Polyspace Bug Finder一个为Polyspace Code Prover。两者都能执行错误检查代码规则检查测量代码质量可以共用同一个工程。Polyspace Bug Finder通过分析代码的语义来执行静态检测可以比较快执行完检测一般用于开发人员快速查找尽量多的问题。Polyspace Code Prover通过抽象解析执行检测是一种噪声分析方法检查确认每一个操作是否有问题执行速度比较慢一般用于出示正式报告使用。 ​ Polyspace通过工程来管理检测的源文件以及检测配置项等所以执行检测必须得建立一个工程。此外每个工程里面分很多模块这样大型工程就可以把大量的文件按模块执行检测减少每次的检测耗时。 新建工程 首先我们要新建工程 ​ 或者点击这里新建工程 ​ Project name工程名称 Project configuration:选择项目配置可以选择使用模板【Use template】Polyspace有预定义了几个模板此外用户也可以创建自己的模板以后我们应该是使用组内自己的模板这样可以减少每次创建工程的配置时间。除了使用模板用户也可以自己写脚本配置工程这是高级功能。 Project language选择项目分析的文件是哪一种编程语言写的代码。 Location:工程路径信息如果你不像使用默认的路径请确保不勾选【Use default location】,并在Location里面输入期望的路径可以点击输入栏右边的打开文件夹并选择到对应的路径。 ​ 添加文件 需要给工程添加源文件和Include路径。在打工的工程界面右击【Source】选择【Add source】添加源文件。选择对应的文件或文件夹点击【Add Source Files】如果要把文件夹里面的文件也包含进来需要勾选【Add recurively】。 ​ 给工程添加Include路径在工程界面当中右击【Include】选择【Add source】添加Include路径。弹出的界面如下图所示选择对应的路径后点击【Add Include Foloer】把路径添加到Include路径如果需要把子目录也添加进来请勾选【Add recurively】。 ​ 模块管理 用户可以创建自己的工程配置模板在打开的工程界面完成检测的配置后在配置处右击弹出的下拉框里面点击【Save As Template】即可把当前的配置包含对应Module的配置以及Include路径保存为模板。 保存的模块下次创建工程时可以使用该模板。使用前选先导入用户模板。方法为在选择模板界面点击【Add custom template…】选择之前保存的模板然后在【Custom templates】下就会出现刚导入的模板新建工程时选择该模板就可以了。如果要删除模板则可以在界面点击【Remove custom template】。 Polyspace Code Prover需要把一个工程的源文件放到一个Module或者几个Module分别单独检测。需要注意的是Polyspace Bug Finder不支持该功能那么他就不支持新建Module和复制源文件到模块的功能。 源文件分模块Module的流程如下:在工程界面点击工具栏的 开始创建模块或者右击模块如Module_1在弹出的界面选择【Creat New Module】开始创建模块。完成后工程界面会出现一个新的模块【Module_x】,后面的x代表第几个Module。 Polyspace由于用Module分别单独检测需要把对应的源文件复制到对应的Module下这样只有在这个Module的源文件才会被这个Module检测。复制方法为在工程界面的Source文件夹下选择对应的文件可以用Shift键或者Ctrl键支持多选文件右击选择的源文件在弹出的界面点击【Copy to】然后选择对应的Module_x。 ​ 如果没有加入进来在检测的时候就会报如下图的错误提示。 ​ 配置检测项 每个Module模块都需要单独配置检测项每个配置都可以有差异。在工程界面左键单击对应的配置就可以进入配置的设置界面。下图所示右边的【Configuration】就是配置界面相关检测配置内容都在这个界面配置。 TargetCompiler TargetCompiler配置主要是配置APP运行软硬件环境以及对应的编译器特殊功能。重点配置以下功能其他功能按需配置。 【Target Operating system】配置APP运行的操作系统 【Target Processor type】配置APP运行的处理器 【Dialect】配置编译器的特殊功能 【Respect C90 standard】配置是否只支持C90标准勾选时表示只支持C90标准不勾选时表示支持C90和C99标准 ​ Macros Macros配置界面主要配置预处理宏定义和取消已有的宏定义这主要是用于特定编译器内部定义了一些专有的宏定义如某些编译器宏定义了__far关键字。 ​ Environment Settings Environment Settings配置界面主要配置软件的其他环境信息。 【Code from DOS or Windows file system】配置文件来源是哪个文件系统用于识别路径是否区分大小写以及路径符号 【Continue with compile error】勾选时使能在编译错误时依旧继续建议默认不勾选即可 【Command/script to apply to preprocessed files】:配置每个文件预处理后执行的脚本没有这个需求的可以不配置. 【Include】配置编译每个文件时自动Include的文件。该配置可用于使用的编译器支持特定关键字时代码使用了该关键字但是Polyspace不支持该关键字的情况。通过手动模式把关键字写到一个头文件。配置方法为点击右边的文件夹图标在打开的界面选择对应的头文件。 InputsStubbing 用于配置全部变量、指针、函数参数的数据约束输入以及Stubbing函数如果检测文件依赖外部实现的函数那么检测时需要设置Stubbing函数用于模拟实现调用的函数功能。具体配置内容说明如下 【Constraint setup】:配置全部变量、指针、函数参数的数据约束条件通过点击【Edit】添加对应约速 【Ignore default initialization of global variables】:配置是否忽略默认C标准的含蓄初始化全局变量没有明显的初始化变量char 默认初始化为0int 默认初始化为0等等。为了提高我们的代码安全性我们要求所有的变量都必须明显地初始化所以要勾选该选项忽略C标准里面的默认初始化。 【No automatic stubbing】:配置是否不自动产生stubbing函数可以用于发现未定义的函数也可以用于手动定义stubbing函数。由于我们的APP使用底层的函数这些底层函数是供应商提供的我们没有底层函数的源文件所以建议不勾选这个配置项由polyspace自动产生stubbing函数。 【Functions to stub】:配置哪些函数为stubbing函数当检测时不想再检测某一个确定的函数时可以在此指定函数为stubbing函数。 Multitasking 本配置界面用于配置多任务相关的配置配置界面如下所示配置项说明如下 【Enable automatic concurrency detection】:使能自动多任务检测用于有标准的POSIX接口的多线程创建接口函数。 【Configure multitasking manually】:使能手动配置多任务这些设置依赖于3.5.4 Verfication Assumptions配置为Verify whole application但是由于我们的APP都只是一个模块不是一个完成的应用所以这个配置我们不需要配置。 Coding Standards Code Metrics 本配置界面配置代码规则检查和代码质量测量如下所示各配置说明如下 【Check MISRA C 2004】勾选则可以选择检查MISRA C 2004检查然后选择对应的规则可以选择custom然后点击【Edit】自定义检查条例或者装载以前定好的规则。由于NDS要求不同阶段必须支持哪些条例所以我们应该是组内定好统一的勾选规则大家复用这个规则即可。 【Check MISRA AC AGC】自动生成的代码的检查规则所以我们应该是选择勾选该规则 【Check MISRA C 2012】NDS不要求该检查 【Check custom rules】检查用户定义的其他规则按需配置即可。 【Effective Boolean types】定义制定哪个类型的数据为boolean类型 Code Prover Verification Code Prover Verification里面及其子配置界面都是配置Code Prover 检测的相关定制行为。 Code Prover Verification界面配置代码检测整个代码还是只检测模块由于我们开发的只是其中一个模块的APP所以我们勾选【Verify module】。这样polyspace找不到main()函数的情况下会自动生成一个main()函数该main()函数会执行以下操作 初始化【Variables to initialize】里面指定的变量调【Initialization functions】里面指定的初始化函数按任意的顺序调【Functions to call】里面指定的函数 如果没有指定以上操作main()函数会执行以下操作 初始化除了有关键字const和static以外的全局变量按任意的顺序调代码里面没有被调用的函数。 由于自动产生的main()函数里面的调度函数顺序是随机的。所以如果不想调度的函数是随机的请自己手动写一个main函数。 Precision 本配置主要配置检测的精度如下所示每个配置说明如下 【Precision level】指定检测精度等级精度越高耗时越久目前使用默认的等级2即可 【Verification level】:指定源代码的检测次数等级越高耗时越久目前使用默认等级level 2即可 【Verfication time limit】:指定检测超时时间如果超时检测停止以小时为单位如5.75表示5小时45分 【Retype variables of pointer types】勾选时使能允许把指针强制转换为别的类型。为了防止指针越界建议不要勾选该选项 【Retype symbols of integer types】勾选时使能允许把一个整数强制转换为指针。由于我们一般不操作底层地址所以建议不要勾选该选项。 Advanced Settings 本配置配置一些高级功能说明如下 【Command/script to apply after the end of the code verification】选择检测结束后执行一个脚本如果需要该功能输入对应的脚本路径即可 【Automatic Orange Tester】是否使能在代码检测结束后针对Orange的结果执行动态检测以查找运行时错误。 【Number of automatic tests】设置在代码检测结束后Orange动态检测的次数 【Maximum loop iterations】设置在代码检测结束后Orange动态检测最大循环次数 【Maximum test time】设置在代码检测结束后Orange动态检测最长时间 【other】可以输入其他的polyspace option​ 执行检查 配置后检测项后就可以执行检测了步骤为在工程界面先点击对应的Module的对应配置,然后点击工具栏的 执行检测同时会增加一个结果Result并且后面有个文件表示当前的检测状态[Running],表示进行中。检测正常结束时状态会切换为[Completed]检测异常失败时状态会切换为[Failed]。 ​ 生成的时候可以选择使用的是PolySpace Bug Finder或者PolySpace Code Proverrun all modules是将所有模块都运行一遍。 ​ 检测结果 检测结束后在工程界面双击对应的检测结果可以打开对应的检测结果界面【Result Summary】和【Result Details】。前者主要是罗列了结果的大纲在【Result Summary】点击每条检测结果可以在【Result Details】显示每条结果的详细说明。我们可以在【Result Details】界面添加相关内容如 【Severity】为该Result分配一个风险等级 【Status】为该Result分配一个状态 【Enter comment here】添加注解信息 运行完毕之后就能在Dashboard里面看到检查的结果。有风险错误数量比例饼状图颜色越深风险越高。分析覆盖度柱状图检查了多少个源文件里面有多少个函数通过的有多少个不通过的有多少个。风险错误在各个文件的数量分布不符合代码规范的地方在各个文件的标准分布。 ​ 想要看具体的每个错误可以进入到result list里面列举出具体风险类型项位置数量等信息。点击进去可以在Source窗口对照源代码分析问题。 Red checks  指示代码包含一个确定的错误里面显示了一个  图标 Gray checks指示有不可到达的代码里面显示了一个  图标 Orange checks指示在部分情况下可能存在错误里面显示了一个   图标 Green checks 指示在任何情况下代码都不存在错误里面显示了一个   图标 Coding rule violations指示有违反了选定的代码规则   显示违反了预定义的规则  显示违反了客户自定义的规则 Code metrics 指示代码质量如果违反了选择的代码质量阈值会显示一个   图标 Global variables:显示发现的全局变量带有 一个  图标。对于可能没有保护措施的全局变量带有一个  图标对于没有使用的全局变量带有一个    图标。 譬如我故意写错一个地方检查之后可以通过点击跳转看到第9行的前面第8行那里少了个分号。 ​ 检查终止问题 如果你的文件错误实在是太多它会检查到中途便终止。 ​ 生成报告 Review完每个结果后就可以生成检测报告了点击菜单栏的【Reporting】→【Run Report…】打开生成报告界面。相关配置内容如下 【Select Reports】:选择输出报告的模板 【Output folder】:选择输出报告存放到哪一个路径 【Output format】:选择输出的文件格式如WORD、PDF等
http://www.tj-hxxt.cn/news/136660.html

相关文章:

  • 长沙企业网站制作哪家好平面广告设计要学的软件
  • 蚌埠网站建设公司cztv西安地区网站建设
  • 花都移动网站建设吴中区网站建设技术
  • 网站开发证书要求网站seo设计方案案例
  • 网站界面设计的发展阿里云虚拟主机与网站吗
  • 定制型和模板型网站什么平台可以免费打广告
  • 网站seo优化要懂得做微调thinkphp3.2 企业网站源码
  • 西宁企业网站建设公司婚嫁行业网站模板
  • 能源网站建设公司做花瓶的网站
  • PHP网站开发用什么电脑wordpress文字替换
  • 网站建设的步骤过程公司首页模板
  • 做采集网站难不黑龙江建设工程招标网
  • 镇江建设网站的公司织梦网站做站群
  • 环保局网站建设 自查报告wordpress导航改哪个php文件
  • 做网站的经历网站备案审核通过后
  • 两学一做 专题网站职业生涯规划书模板
  • 做网站的人跑了网站可以恢复吗滕州手机网站建设
  • 网站开发速成班html网页设计logo代码
  • 遵义公司建网站要多少费用百度免费广告发布平台
  • 直播网站排名全媒体运营师培训费用
  • 有没有做网站网络营销推广方法ppt
  • 网站建设的前期投入一些网站只能在微信打开怎么做的
  • 佛山制作做网站哪个旅游网站规划好
  • 马克 扎克伯格大学做的网站百度关键词搜索广告的优缺点
  • 如何进行网页设计和网站制作网站建设这个职业是什么意思
  • 做网站page厦门小微企业网站建设补贴
  • 如何加强精神文明网站建设内容湖南百度seo
  • 电商网站的好处wordpress登录插件
  • 微网站网站模板建站自己做qq头像网站
  • 为网站网站做代理怎么判wordpress免费主题 开源