草庐IT

C++ Lint : detect improper pass by value

全部标签

c++ - 如何使用 make 运行增量 PC-Lint

我想使用Make以增量方式将GimpelPC-Lint应用到我的源代码。我希望它仅在源文件自上次运行lint后发生更改时才对源文件运行lint。有人这样做吗?你是如何接近它的? 最佳答案 常见的模式是创建输出(如果没有,则创建人工输出)。编辑注意$(LINT)$$@将扩展为类似linttest.cpp>test.lint的内容(将输出重定向到该文件)例如%.o:%.cpp|%.lintS(CC)-o$@$(CPPFLAGS)$$@或者对于没有输出的过程:%.o:%.cpp|%.emailsentS(CC)-o$@$(CPPFLAGS

c++ - Lint 更喜欢 std :string rather than clear() 上的 erase() 方法

使用Lint,它反复反对在std字符串上使用clear,并希望建议使用不带参数的删除方法。查看文档并执行我想要的操作,即将字符串的大小调整为零个元素,以便该字符串为空且没有任何元素。此时我不想删除字符串,只需从中删除所有成员即可。我的问题是这两种方法有什么区别,有谁知道我应该使用erase而不是clear方法的原因吗? 最佳答案 我看不出任何原因。恰恰相反:我实际上不得不查看引用以查看erase()是否可以在没有参数的情况下调用。erase()用于从字符串中删除一些指定的字符。clear()用于删除字符串的全部内容(但不包括其容量)

c++ - C 和 C++ 的结构定义不同——它安全吗? PC-Lint 警告

以下声明在C++文件中添加了几个用于编译的运算符。该定义包含在C和C++文件中。PC-Lint报告错误114:标记“Rect”的结构声明不一致,但我确信它是安全的。我正在使用VisualStudio2008进行编译。编辑-添加我发送给客户的解释关于Rect问题;知道结构在C和C++中的大小相同如何消除对“未定义行为”的怀疑。如果字段在数据结构中的实际位置因编译而异,则会出现未定义的行为。您必须将所有成员变量访问视为最终解析为指针,该指针由指向对象存储开头的指针加上偏移量(取决于该结构中的内容)计算得出。打包和数据对齐设置会影响偏移值。允许编译器对类型重新排序以实现最佳访问-假设仅仅因为

ios - 无法通过某些本地化的 pod spec lint 验证

我有一个使用本地化的大项目。至于现在,我正在使用图书馆:'Localize-Swift','2.0.0'使本地化更容易。但是自从我将xcode从9.4.1版升级到最新版10.0后,一些本地化字符串出现了问题,例如像这样:xcodebuild:error:unexpectedduplicatetask:CopyStringsFile/Users/myName/Library/Developer/Xcode/DerivedData/App-cxnnzigdonvocggyjllrudhwfpwq/Build/Products/Release-iphonesimulator/myProjec

Hadolint:Lint Dockerfile 的完整指南

想学习如何使用Hadolint对Dockerfile进行lint处理吗?这篇博文将向您展示如何操作。这是关于Dockerfilelinting的完整指南。通过对Dockerfile进行lint检查,您可以及早发现错误和问题,并确保它们遵循最佳实践。什么是Hadolint?Hadolint 是一个使用Haskell构建的开源命令行Dockerfilelinter工具,可帮助您编写无错误的 Dockersfile。Hadolint会检查您的Dockerfile是否存在可能的错误、安全漏洞和性能问题。它在GitHub上有超过9k的启动这是它的工作原理。Hadolint读取Dockerfile它将Do

ios - pod spec lint 失败并返回 400

我遵循了https://guides.cocoapods.org/making/using-pod-lib-create中的所有步骤使我的开源库在cocoapds上可用。在发布之前的步骤结束时运行podliblint命令并通过测试:->SHMultipleSelect(0.1.0)SHMultipleSelectpassedvalidation.但是podspeclint命令给出了一些错误:[!]/usr/bin/gitclonehttps://github.com//SHMultipleSelect.git/var/folders/fn/49fp5hx941541w0ncv5n28_

ios - pod 规范 lint 错误 : "unexpected ' @' in program"

我正在为我创建的一个开源项目创建一个podspec文件,我正在使用Apple的UIImage+ImageEffects.h/.m来实现模糊效果,在里面,他们使用新的@importAccelerate;语法与#import.当我运行podspeclintSFSCollectionMenu.podspec,我收到错误:错误|[xcodebuild]SFSCollectionMenu/UIImage+ImageEffects.h:96:1:错误:程序中出现意外的“@”CocoaPods平台不喜欢新的模块语法吗?我对CocoaPods比较陌生,所以很可能我遗漏了一些东西。我按照NilsHaya

PC-lint Plus在安全系统中的应用

​本文翻译自官方文档pclp-sca 1、概述VectorInformatikGmbH开发的静态分析工具受到全球几乎所有行业成千上万家企业的信赖。我们的用户群中有很大一部分利用我们的工具来开发嵌入式和安全关键型环境的应用程序。长期以来,我们通过实施嵌入式编译器使用的语言扩展、支持各种MISRA编码标准以及增加诊断功能来解决嵌入式开发人员的具体问题,为这一群体提供支持。 作为我们对嵌入式和安全关键型开发人员社区持续承诺的一部分,我们为在此类环境中使用PC-lintPlus编写了本指南。本指南提供最佳实践清单,遵循该清单将有助于最大限度地正确使用PC-lintPlus,使您意识到潜在问题的领域、避

Prettier & Eslint & Stylelint & Husky & lint-staged

关于代码格式的讨论数不胜数,个人认为没有绝对的对与错,代码只要始终遵守可读性,可拓展性强这两点我认为就是优秀的代码。如果是个人项目那就没有什么问题,但是如果涉及到多人开发,就不可避免的遇到代码风格迥异,从而给组内其他成员增加阅读代码时的心智负担,所以需要指定编码格式,团队中的每个人都严格执行,且使用工具对代码进行检查,规范提交。1.首先先创建一个示例vue3空项目我这里使用pnpm,注:pnpm最低支持node版本为16,所以使用前请先nvm切换至16版本及其以上。(如果没有安装请先npmi-gpnpm,mac电脑如果提示没有权限,即sudonpmi-gpnpm)pnpmcreatevitet

代码规范 & 详细解释 husky、prettier、eslint、lint-staged 的作用和使用

准备工作使用vscode新建一个项目(比如叫my-project)初始化git仓库(gitinit)初始化package.json(npminit-y)新建src/main.js项目结构如图.git目录没有出现在vscode编辑器中是正常的。1.husky在介绍husky之前,首先要理解什么是hook(钩子),在前端Vue框架中提供了beforCreated、created、beforeMounted、mounted等函数、这些函数都是钩子,也常被称为‘生命周期钩子函数’,它们会在Vue实例化过程中有序地执行。在Git中也存在一些钩子,其中较常用的有pre-push、pre-commit,其中