硬汉嵌入式论坛

 找回密码
 立即注册
查看: 6172|回复: 56
收起左侧

[辅助工具] PC-lint Plus 2.0发布(2023-01-01)

  [复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2023-1-1 01:38:01 | 显示全部楼层 |阅读模式
回复

使用道具 举报

24

主题

218

回帖

290

积分

高级会员

积分
290
发表于 2023-1-1 12:19:37 | 显示全部楼层
这个软件好是好,改问题能把人改到怀疑人生
回复

使用道具 举报

57

主题

909

回帖

1080

积分

至尊会员

积分
1080
发表于 2023-1-1 17:54:52 | 显示全部楼层
有和谐吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2023-1-1 18:06:31 | 显示全部楼层

这个plus没找到。
回复

使用道具 举报

36

主题

2051

回帖

2159

积分

至尊会员

积分
2159
发表于 2023-1-2 09:48:58 | 显示全部楼层
官方的下载没反应,明天回公司了再试试。
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2024-1-3 08:59:25 | 显示全部楼层
Plus 还没有和谐版?
回复

使用道具 举报

4

主题

1459

回帖

1471

积分

至尊会员

积分
1471
发表于 2024-1-3 10:09:38 | 显示全部楼层
谁有和谐的版本,
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2024-1-3 11:02:03 | 显示全部楼层

新版好像没有和谐
回复

使用道具 举报

86

主题

550

回帖

808

积分

金牌会员

积分
808
发表于 2024-1-3 11:36:37 | 显示全部楼层
这个和iar的c-state有何不同啊?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
 楼主| 发表于 2024-1-4 09:03:17 | 显示全部楼层
tangqianfeng 发表于 2024-1-3 11:36
这个和iar的c-state有何不同啊?

PC LINT是个独立的插件。
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2024-1-17 21:17:15 | 显示全部楼层
谁有试用的license,或许我可以尝试和谐一下
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2025-5-31 03:50:49 | 显示全部楼层
Please, any harmonization?
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2025-5-31 03:51:29 | 显示全部楼层
leangyi 发表于 2024-1-17 21:17
谁有试用的license,或许我可以尝试和谐一下

Please, any harmonization?
回复

使用道具 举报

2

主题

112

回帖

118

积分

初级会员

积分
118
发表于 2025-5-31 22:00:58 | 显示全部楼层
license.png


这个的license应该比较好处理。。。
回复

使用道具 举报

1

主题

22

回帖

25

积分

新手上路

积分
25
发表于 2025-6-1 10:15:41 | 显示全部楼层
rlm13.PNG
可以使用公用密钥生成license
回复

使用道具 举报

1

主题

22

回帖

25

积分

新手上路

积分
25
发表于 2025-6-1 13:47:15 | 显示全部楼层
pclp.PNG

生产公钥的效果如图
回复

使用道具 举报

1

主题

22

回帖

25

积分

新手上路

积分
25
发表于 2025-6-1 15:39:12 | 显示全部楼层
PC-lint Plus 2.2 windows 版本补丁,永久授权使用,仅供个人学习,勿用于商业用途!
pclp_2.2.rar (17.41 MB, 下载次数: 114)

评分

参与人数 1金币 +20 收起 理由
sblpp + 20 很给力!

查看全部评分

回复

使用道具 举报

2

主题

112

回帖

118

积分

初级会员

积分
118
发表于 2025-6-1 23:41:07 | 显示全部楼层
@Korren,大佬V5!感谢大佬分享~
回复

使用道具 举报

0

主题

25

回帖

25

积分

新手上路

积分
25
发表于 2025-6-2 00:50:02 | 显示全部楼层
korren 发表于 2025-6-1 15:39
PC-lint Plus 2.2 windows 版本补丁,永久授权使用,仅供个人学习,勿用于商业用途!

大佬V5! 感谢大佬分享
回复

使用道具 举报

1

主题

22

回帖

25

积分

新手上路

积分
25
发表于 2025-6-2 16:45:02 | 显示全部楼层
使用同正式版一样的授权lic,不再提示为评估版。
删除之前的pclp.lic使用pclp_full.lic,执行文件用我之前的就可以了。

pclp_full.rar

278 Bytes, 阅读权限: 255, 下载次数: 23

回复

使用道具 举报

1

主题

22

回帖

25

积分

新手上路

积分
25
发表于 2025-6-2 16:48:01 | 显示全部楼层
1748854033348(1).png
显示效果如图
回复

使用道具 举报

86

主题

550

回帖

808

积分

金牌会员

积分
808
发表于 2025-6-2 17:52:54 | 显示全部楼层
korren 发表于 2025-6-1 15:39
PC-lint Plus 2.2 windows 版本补丁,永久授权使用,仅供个人学习,勿用于商业用途!

看到看雪上说评估版的license不全的
回复

使用道具 举报

1

主题

22

回帖

25

积分

新手上路

积分
25
发表于 2025-6-2 18:26:19 来自手机 | 显示全部楼层
tangqianfeng 发表于 2025-6-2 17:52
看到看雪上说评估版的license不全的

已经重做了正式版的lic,等版主审核中……
回复

使用道具 举报

86

主题

550

回帖

808

积分

金牌会员

积分
808
发表于 2025-6-2 20:00:51 | 显示全部楼层
本帖最后由 tangqianfeng 于 2025-6-2 20:19 编辑
korren 发表于 2025-6-2 18:26
已经重做了正式版的lic,等版主审核中……

非常感谢,我刚试了下full-license,好象功能不全,用于iar检查报一大堆错误,然后我用申请的14天评估的,就没有问题

我用申请的license+原版的pclp64:

pclp64 co-iar-arm.lnt appLED.c
PC-lint Plus 2.2 for Windows, Copyright Vector Informatik GmbH 1985-2024
LICENSED FOR EVALUATION USE ONLY -- NOT FOR PRODUCTION
licensed for evaluation to tqf
2-jun-2025, evaluation license expires 16-jun-2025 (15 days)

--- Module:   appLED.c (C)
appLED.c  3  error 322: unable to open include file 'BLDC.h'
#include "BLDC.h"




用你提供的full-license+替换的pclp64:

pclp64 co-iar-arm.lnt appLED.c
PC-lint Plus 2.2 for Windows, Copyright Vector Informatik GmbH 1985-2024
licensed to vector
permanent license
co-iar-arm.lnt  10  error 72: bad option '+libh(co-iar-arm.h)': not recognized
+libh(co-iar-arm.h)
^
co-iar-arm.lnt  11  error 72: bad option '-header(co-iar-arm.h)': not
    recognized
-header(co-iar-arm.h)
^
co-iar-arm.lnt  15  error 72: bad option '--i"D:\Program
    Files\IAR\ewarm\arm\inc\c\aarch32"': not recognized
--i"D:\Program Files\IAR\ewarm\arm\inc\c\aarch32"
^
co-iar-arm.lnt  16  error 72: bad option '+libdir("D:\Program
    Files\IAR\ewarm\arm\inc\c\aarch32")': not recognized
+libdir("D:\Program Files\IAR\ewarm\arm\inc\c\aarch32")
^
co-iar-arm.lnt  17  error 72: bad option '--i"D:\Program
    Files\IAR\ewarm\arm\inc"': not recognized
--i"D:\Program Files\IAR\ewarm\arm\inc"
^
co-iar-arm.lnt  18  error 72: bad option '+libdir("D:\Program
    Files\IAR\ewarm\arm\inc")': not recognized
+libdir("D:\Program Files\IAR\ewarm\arm\inc")
^
co-iar-arm.lnt  19  error 72: bad option '--i"D:\Program
    Files\IAR\ewarm\arm\inc\c"': not recognized
--i"D:\Program Files\IAR\ewarm\arm\inc\c"
^
co-iar-arm.lnt  20  error 72: bad option '+libdir("D:\Program
    Files\IAR\ewarm\arm\inc\c")': not recognized
+libdir("D:\Program Files\IAR\ewarm\arm\inc\c")
^
co-iar-arm.lnt  26  error 72: bad option '+fdi': not recognized
+fdi  // Search including directory
^
co-iar-arm.lnt  27  error 72: bad option '+fcu': not recognized
+fcu  // Char is unsigned
^
co-iar-arm.lnt  28  error 72: bad option '+fse': not recognized
+fse  // Small enums
^
co-iar-arm.lnt  29  error 72: bad option '+fan': not recognized
+fan  // Anonymous unions
^
co-iar-arm.lnt  30  error 72: bad option '+fas': not recognized
+fas  // Anonymous structs
^
co-iar-arm.lnt  31  error 72: bad option '+fdi': not recognized
+fdi  // Search directory of including file
^
co-iar-arm.lnt  32  error 72: bad option '+rw(__absolute)': not recognized
+rw(__absolute)
^
co-iar-arm.lnt  33  error 72: bad option '+rw(__arm)': not recognized
+rw(__arm)
^
co-iar-arm.lnt  34  error 72: bad option '+rw(__big_endian)': not recognized
+rw(__big_endian)
^
co-iar-arm.lnt  35  error 72: bad option '+rw(__cmse_nonsecure_call)': not
    recognized
+rw(__cmse_nonsecure_call)
^
co-iar-arm.lnt  36  error 72: bad option '+rw(__cmse_nonsecure_entry)': not
    recognized
+rw(__cmse_nonsecure_entry)
^
co-iar-arm.lnt  37  error 72: bad option '+rw(__code)': not recognized
+rw(__code)
^
co-iar-arm.lnt  38  error 72: bad option '+rw(__data)': not recognized
+rw(__data)
^
co-iar-arm.lnt  39  error 72: bad option '+rw(__fiq)': not recognized
+rw(__fiq)
^
co-iar-arm.lnt  40  error 72: bad option '+rw(__interwork)': not recognized
+rw(__interwork)
^
co-iar-arm.lnt  41  error 72: bad option '+rw(__intrinsic)': not recognized
+rw(__intrinsic)
^
co-iar-arm.lnt  42  error 72: bad option '+rw(__irq)': not recognized
+rw(__irq)
^
co-iar-arm.lnt  43  error 72: bad option '+rw(__little_endian)': not recognized
+rw(__little_endian)
^
co-iar-arm.lnt  44  error 72: bad option '+rw(__nested)': not recognized
+rw(__nested)
^
co-iar-arm.lnt  45  error 72: bad option '+rw(__no_alloc)': not recognized
+rw(__no_alloc)
^
co-iar-arm.lnt  46  error 72: bad option '+rw(__no_alloc16)': not recognized
+rw(__no_alloc16)
^
co-iar-arm.lnt  47  error 72: bad option '+rw(__no_alloc_str)': not recognized
+rw(__no_alloc_str)
^
co-iar-arm.lnt  48  error 72: bad option '+rw(__no_alloc_str16)': not
    recognized
+rw(__no_alloc_str16)
^
co-iar-arm.lnt  49  error 72: bad option '+rw(__no_init)': not recognized
+rw(__no_init)
^
co-iar-arm.lnt  50  error 72: bad option '+rw(__noreturn)': not recognized
+rw(__noreturn)
^
co-iar-arm.lnt  51  error 72: bad option '+rw(__nounwind)': not recognized
+rw(__nounwind)
^
co-iar-arm.lnt  52  error 72: bad option '+rw(__packed)': not recognized
+rw(__packed)
^
co-iar-arm.lnt  53  error 72: bad option '+rw(__pcrel)': not recognized
+rw(__pcrel)
^
co-iar-arm.lnt  54  error 72: bad option '+rw(__ramfunc)': not recognized
+rw(__ramfunc)
^
co-iar-arm.lnt  55  error 72: bad option '+rw(__root)': not recognized
+rw(__root)
^
co-iar-arm.lnt  56  error 72: bad option '+rw(__ro_placement)': not recognized
+rw(__ro_placement)
^
co-iar-arm.lnt  57  error 72: bad option '+rw(__sbrel)': not recognized
+rw(__sbrel)
^
co-iar-arm.lnt  58  error 72: bad option '+rw(__spec_string)': not recognized
+rw(__spec_string)
^
co-iar-arm.lnt  59  error 72: bad option '+rw(__stackless)': not recognized
+rw(__stackless)
^
co-iar-arm.lnt  60  error 72: bad option '+rw(__swi)': not recognized
+rw(__swi)
^
co-iar-arm.lnt  61  error 72: bad option '+rw(__sys_reg)': not recognized
+rw(__sys_reg)
^
co-iar-arm.lnt  62  error 72: bad option '+rw(__task)': not recognized
+rw(__task)
^
co-iar-arm.lnt  63  error 72: bad option '+rw(__thumb)': not recognized
+rw(__thumb)
^
co-iar-arm.lnt  64  error 72: bad option '+rw(__weak)': not recognized
+rw(__weak)
^
co-iar-arm.lnt  65  error 72: bad option '+rw(__iar_atomic_is_lock_free)': not
    recognized
+rw(__iar_atomic_is_lock_free)
^
co-iar-arm.lnt  66  error 72: bad option '+rw(__is_destructible)': not
    recognized
+rw(__is_destructible)
^
co-iar-arm.lnt  67  error 72: bad option '+rw(_to_semi)': not recognized
+rw(_to_semi)
^
co-iar-arm.lnt  68  error 72: bad option '-dasm=_to_semi': not recognized
-dasm=_to_semi
^
co-iar-arm.lnt  69  error 72: bad option '-d__asm=_to_semi': not recognized
-d__asm=_to_semi
^
co-iar-arm.lnt  70  error 72: bad option '-d__constrange(...)=': trailing
    characters after option
-d__constrange(...)=
^
co-iar-arm.lnt  70  error 72: bad option '-d__constrange(...)': not recognized
-d__constrange(...)=
^
co-iar-arm.lnt  70  error 305: unable to open module '='
-d__constrange(...)=
                   ^


我在命令行输入pclp64, 输出的提示信息也不一样,原版的非常多:

pclp64
PC-lint Plus 2.2 for Windows, Copyright Vector Informatik GmbH 1985-2024
LICENSED FOR EVALUATION USE ONLY -- NOT FOR PRODUCTION
licensed for evaluation to tqf
2-jun-2025, evaluation license expires 16-jun-2025 (15 days)

            ____________________ MESSAGE GROUP ____________________

                      ----- Error Inhibition Options -----

-e  disables a message where # is a message number or pattern
   -e#
+e  re-enables message(s) #
   +e#
!e  disables message # for the current line
   !e#
-e(  inhibits message #s for the next expression
   -e(# [,#...])
--e(  inhibits message #s for the entire enclosing expression
   --e(# [,#...])
-e{  inhibits message #s for the next statement
   -e{# [,#...]}
--e{  inhibits message #s for the entire enclosing braced region
   --e{# [,#...]}
-ecall  inhibits the message #s within calls to Function
   -ecall(# [#...], Function [,Function...])
+ecall  enables the message #s within calls to Function
   +ecall(# [#...], Function [,Function...])
-efile  inhibits the message #s within File
   -efile(# [#...], File [,File...])
+efile  enables the message #s within File
   +efile(# [#...], File [,File...])
+efreeze  freeze the message #s and/or warning level(s)
   +efreeze | +efreeze(#|w# [,#|w#...])
-efreeze  unfreeze the message #s and/or warning level(s)
   -efreeze | -efreeze(#|w# [,#|w#...])
++efreeze  deep freeze the message #s and/or warning level(s)
   ++efreeze | ++efreeze(#|w# [,#|w#...])
-efunc  inhibits the message #s within the body of Function
   -efunc(# [#...], Function [,Function...])
+efunc  enables the message #s within the body of Function
   +efunc(# [#...], Function [,Function...])
-egrep  inhibits the message #s when the message text matches Regex
   -egrep(# [#...], Regex [,Regex...])
+egrep  enables the message #s when the message text matches Regex
   +egrep(# [#...], Regex [,Regex...])
-elib  disables the message #s in library code
   -elib(# [,#...])
+elib  enables message #s in library code
   +elib(# [,#...])
-elibcall  inhibits message #s inside calls to library functions
   -elibcall(# [,#...])
+elibcall  enables message #s inside calls to library functions
   +elibcall(# [,#...])
-elibmacro  inhibits message #s issued for library macros
   -elibmacro(# [,#...])
+elibmacro  enables message #s issued for library macros
   +elibmacro(# [,#...])
-elibsym  inhibits message #s issued for library symbols
   -elibsym(# [,#...])
+elibsym  enables message #s issued for library symbols
   +elibsym(# [,#...])
-emacro  inhibits message #s within macro expansions
   -emacro(# [#...], Symbol [,Symbol...])
+emacro  enables message #s within macro expansions
   +emacro(# [#...], Symbol [,Symbol...])
--emacro  inhibits message #s within macro expansions
   --emacro(# [#...], Symbol [,Symbol...])
-equery  inhibits the message #s when Query matches
   -equery(# [#...], Query)
+equery  enables the message #s when Query matches
   +equery(# [#...], Query)
-estring  inhibits the message #s parameterized by String
   -estring(# [#...], String [,String...])
+estring  enables the message #s parameterized by String
   +estring(# [#...], String [,String...])
-esym  inhibits the message #s parameterized by Symbol
   -esym(# [#...], Symbol [,Symbol...])
+esym  enables the message #s parameterized by Symbol
   +esym(# [#...], Symbol [,Symbol...])
-etype  inhibits the message #s parameterized by Type
   -etype(# [#...], Type [,Type...])
+etype  enables the message #s parameterized by Type
   +etype(# [#...], Type [,Type...])
+group  adds messages from Pattern to message group Name
   +group(Name [,Pattern...])
-group  remove Pattern from group Name or delete Name
   -group(Name [,Pattern...])
-restore  restores the state of error inhibition settings
-save  saves the current state of error inhibition settings
-w  sets the base warning level
   -w#
-wlib  sets the base warning level for library code
   -wlib(#)

                         ----- Verbosity Options -----

-v  turn off verbosity or send it to stdout
   -v[acehiotuw#][mf<int>]
+v  output verbosity to stderr and stdout
   +v[acehiotuw#][mf<int>]
-verbosify  print string as a verbosity message
   -verbosify(string)

                    ----- Message Presentation Options -----

-append  append String to diagnostic # when issued
   -append(#, String)
-format  sets the message format for height 3 or less
-format4a  sets the format of the message that appears above the error for height 4
-format4b  sets the format of the message that appears below the error for height 4
-format_category  set format for message category
   -format_category(category, string)
-format_intro  sets the format of the line that appears before each new message set
-format_stack  sets the format of the stack usage message
-format_summary  format of the output produced by the -summary option
-format_template  (obsolete) sets the formatting of the prologue used when a message is issued while instantiating a class template
-format_verbosity  sets the format of verbosity output
-h  adjusts message height options
   -h[A/B][a/b][r][I]N
+html  emit HTML output
   +html(sub-option, ...)
-limit  set the message limit to n
   -limit(n)
++limit  locks in the message limit at n
   ++limit(n)
-message  emits a custom message via info 865
   -message(text)
+message  emits a custom message with the specified message #
   +message([#,] text)
+paraminfo  include parameter information for specified messages as verbosity
   +paraminfo(# [,#...])
-paraminfo  exclude parameter information for specified messages as verbosity
   -paraminfo(# [,#...])
-summary  outputs a message summary at the end of processing, optionally to a file
   -summary | -summary=filename
-t  sets tab width
   -t#
+typename  includes the types of symbols when emitting specified messages
   +typename(# [,#...])
-typename  excludes the types of symbols when emitting specified messages
   -typename(# [,#...])
-width  sets the maximum output width and indentation level for continuations
   -width(# [,Indent])
+xml  activates XML escape sequences
   +xml([tag])

f12  view MISRA C 2012 essential types (OFF)
fcc  capitalize message categories (OFF)
fcn  convert non-printable characters in context line (ON)
fff  fold filenames to a consistent case (ON)
ffn  use full file names (OFF)
fia  inhibit supplementary messages (OFF)
fin  refer to supplemental messages with the info label (OFF)
fla  locations for all diagnostics (ON)
flm  lock message format (OFF)
fsn  treat strings as names (ON)

           ____________________ PROCESSING GROUP ____________________

                    ----- Compiler Adaptation Options -----

-A  (obsolete) specifies the C or C++ language version
   -A={C|C++}{YY|YYYY}
-lang_limit  specify minimum language translation limits
   -lang_limit(C|C++, limit-name, limit-value)
-build_module_interface_unit  build a C++ module interface unit
   -build_module_interface_unit(filename[, module_decl_name])
-std  specifies the C or C++ language version
   -std={c89|c90|c99|c11|c17|c23|c++98|c++03|c++11|c++14|c++17|c++20|c++23}

                        ----- Preprocessor Options -----

-d  define the preprocessor symbol Name with value Value
   -d{Name}[={Value}]
+d  define the preprocessor symbol Name resistant to change via #define
   +dName[=Value]
++d  define the preprocessor symbol Name that cannot be #undef'd
   ++dName[=Value]
-header  auto-include Filename at the beginning of each module
   -header(Filename)
--header  clears previous auto-includes and optionally adds a new one
   --header | --header(Filename)
-i  add search directory for #include directives
   -idirectory
-I  add search directory for #include directives
   -Idirectory
--i  add lower-priority search directory for #include directives
   --idirectory
-incvar  change the name of the INCLUDE environment variable to Name
   -incvar(Name)
+macros  (obsolete) double the maximum macro size
   +macros
-macros  (obsolete) halve the maximum macro size
   -macros
-pch  designates a given header as the pre-compiled header, creating precompiled form if needed
   -pch(Header)
+pch  designates a given header as the pre-compiled header, forcing recreation
   +pch(Header)
-pp_sizeof  set the value that sizeof(Text) evaluates to in a preprocessor directive
   -pp_sizeof(Text, Value)
-u  undefine the preprocessor symbol Name
   -uName
--u  ignore past and future #defines of the preprocessor symbol Name
   --uName
+ppw  enable preprocessor keyword(s)
   +ppw(word [,word...])
-ppw  disable preprocessor keyword(s)
   -ppw(word [,word...])
--ppw  remove built in meaning of preprocessor keyword(s)
   --ppw(word [,word...])
-ppw_asgn  assign preprocessor word meaning of Word2 to Word1
   -ppw_asgn(Word1, Word2)
+pragma  associates Action with Identifier for #pragma
   +pragma(Identifier, Action)
-pragma  disables pragma Identifier
   -pragma(Identifier)

fce  continue on #error (OFF)
fcs  continue on static assertion failure (OFF)
fdg  expansion of digraphs (ON)
fdm  comma from macro expansion does not delimit macro args (OFF)
fgl  use GNU line markers in preprocessed output (ON)
fho  header include guard optimization (OFF)
fim  -i can have multiple directories (ON)
fkp  use K&R preprocessor (OFF)
fln  honor #line directives for diagnostics (ON)
frc  remove commas before __VA_ARGS__ (OFF)
fsi  search #include stack (OFF)
fsl  single line comments (OFF)

                         ----- Tokenizing Options -----

-$  permit $ in identifiers
-ident  add identifier characters
   -ident(chars)
+linebuf  (obsolete) double the size of the line buffer
+rw  enable reserved word(s)
   +rw(word [,word...])
-rw  disable reserved word(s)
   -rw(word [,word...])
--rw  remove built in meaning of reserved word(s)
   --rw(word [,word...])
-rw_asgn  assigns reserved word meaning of Word2 to Word1
   -rw_asgn(Word1, Word2)

fnc  nested comments (OFF)
ftg  permit trigraphs (ON)

                          ----- Parsing Options -----

-ar_limit  set the operator arrow depth limit to n
   -ar_limit=n
-br_limit  set the bracket depth limit to n
   -br_limit=n
-cc_limit  set the constexpr call depth limit to n
   -cc_limit=n
-cs_limit  set the constexpr step limit to n
   -cs_limit=n
-fallthrough  ignores switch case fallthrough when used in a lint comment
-tr_limit  set the template recursion limit to n
   -tr_limit=n
-unreachable  ignores unreachable code when used in a lint comment

ffb  for loop creates separate block (ON)
flf  process library functions (OFF)
fon  support for C++ operator name keywords (ON)
fpe  use precision of enumerators instead of explicit enum base type (ON)
fpm  limit precision to the maximum of the arguments (OFF)
fpo  limit precision to the type of the operation (ON)

              ____________________ DATA GROUP ____________________

                      ----- Scalar Data Size Options -----

-s  set the size of various types
   -sb8   bits in a byte (should match CHAR_BIT)
   -sbo1  sizeof(bool)
   -ss2   sizeof(short)
   -si4   sizeof(int)
   -sl4   sizeof(long)
   -sll8  sizeof(long long)
   -sf4   sizeof(float)
   -sd8   sizeof(double)
   -sld8  sizeof(long double)
   -sp4   sizeof(void*)
   -sw2   sizeof(wchar_t)

-size  set static or auto size thresholds
   -size(flags, amount)

fba  bit addressability (OFF)
fbo  activate bool, true, false (ON)
fcu  char is unsigned (OFF)
fdl  pointer difference is long (OFF)
fll  allow long long int (OFF)
fsc  strings are const char* even in C (OFF)
fwu  wchar_t is unsigned (OFF)

                   ----- Scalar Data Alignment Options -----

-a  set the alignment of various types

         ____________________ MISCELLANEOUS GROUP ____________________

                            ----- File Options -----

+cpp  add C++ extension(s)
   +cpp(Extension [,Extension...])
-cpp  remove C++ extension(s)
   -cpp(Extension [,Extension...])
+ext  set the extensions to try for extensionless files
   +ext(Extension [,Extension...])
+headerwarn  causes message #829 to be issued when Filename is #included
   +headerwarn(Filename)
-indirect  process File as an options file
   -indirect(File [,...])
+libclass  add class of headers treated as libraries
   +libclass(Identifier [,...])
+libdir  specify a Directory of headers to treat as libraries
   +libdir(Directory [,...])
-libdir  specify a Directory of headers to not treat as libraries
   -libdir(Directory [,...])
+libh  specify Headers to treat as libraries
   +libh(Header [,...])
-libh  specify Headers to not treat as libraries
   -libh(Header [,...])
+libm  specify Modules to treat as libraries
   +libm(Module [,...])
-libm  specify Modules to not treat as libraries
   -libm(Module [,...])
-library  indicates the next source module is to be treated as library code
   -library
+lnt  add indirect file extension(s)
   +lnt(Extension [,Extension...])
-lnt  remove indirect file extension(s)
   -lnt(Extension [,Extension...])
-astquery  register a Query to be evaluated during AST traversal
-dump_queries  disable dumping of parsed Query ASTs
   -dump_queries
+dump_queries  enable dumping of parsed Query ASTs
   +dump_queries([sub-options])

fdh  append '.h' to header names in #include's (OFF)
fdi  search directory of including file (ON)
flb  treat code as library (OFF)

                           ----- Global Options -----

?  displays help
-b  suppress banner output
+b  redirect banner output to stdout
++b  produce banner line
-cond  conditionally execute options
   -cond(conditional-expr, true-options [,false-options])
-dump_messages  dumps PC-lint Plus messages to the provided file in the specified format
   -dump_messages(file=filename [,format={plain|list|json|yaml|csv|xml}] [,sub-options])
-dump_message_list  dumps PC-lint Plus message list to the provided file
   -dump_message_list=filename
-exitcode  set the exit code to n
   -exitcode=n
+f  turns a flag on
-f  turns a flag off
++f  increments a flag
--f  decrements a flag
-fatal_error  triggers a suppressible fatal error using message 398
   -fatal_error(message)
+fatal_error  triggers an unsuppressible fatal error using message 399
   +fatal_error(message)
-help  display detailed help about Option
   -help=Option
-max_threads  set the maximum number of concurrent threads for parallel analysis
   -max_threads=n
-p  just preprocess
   -p | -p(width)
-setenv  set environment variable name to value
   -setenv(name=value)
-skip_function  skips the body of a Function when parsing
   -skip_function(Function [,Function...])
-subfile  process just options or just modules from options file File
   -subfile(File, options|modules)
-unit_check  unit checkout
--unit_check  unit checkout and ignore modules in lower .lnt files
-write_file  write String to file Filename
   -write_file(String, Filename [,append=true|false] [,binary=true|false])
-zero  sets exit code to 0
   -zero | -zero(#)
+zero_err  specify message numbers that should not increment exit code
   +zero_err(# [#...])
-zero_err  specify message numbers that should increment exit code
   -zero_err(# [#...])

faa  enable aligned allocations (OFF)
fbe  enable backslash escapes for special option characters (OFF)
fcp  all subsequent modules are considered C++ (OFF)
fcv  don't report parameter could be const if exclusively cast to void (ON)
fdx  consider use of operator delete to be a modification (OFF)
fee  expand environment variables (ON)
fes  search enclosing scopes for friend tag decls (OFF)
fet  require explicit throw specifications (OFF)
ffv  implicit function to void pointer conversion (OFF)
ffw  allow friend decl to act as forward decl (OFF)
fgi  inline treated as GNU inline (OFF)
fit  thrown exception renders function not declared noexcept impure (OFF)
flo  library declarations override non-library declarations (OFF)
flp  lax null pointer constants (OFF)
fma  microsoft inline asm blocks (OFF)
fms  microsoft semantics (OFF)
fmx  enable member access control in C++ (ON)
fnf  fall back to operator new when new[] not available (OFF)
fpa  pause before exiting (OFF)
fql  execute queries in library regions (ON)
frz  use return code only to indicate execution failure (ON)
fsd  output stack diagrams (OFF)
fta  enable typographical ambiguity checks (ON)
fub  ignore unreachable break in switch (ON)
fum  user declared move deletes only corresponding copy (OFF)
fun  issue additional stack usage notes (OFF)
fxt  extern C functions can throw exceptions (OFF)
fzd  enable sized deallocations (OFF)

                           ----- Output Options -----

-env_pop  pop the current option environment
-env_push  push the current option environment
-env_restore  restore the option environment to a previously saved one
   -env_restore(Name)
-env_save  save the current option environment with name Name
   -env_save(Name)
-oe  redirect stderr to Filename overwriting existing content
   -oe(Filename)
+oe  redirect stderr to Filename in append mode
   +oe(Filename)
-os  redirect stdout to Filename overwriting existing content
   -os(Filename)
+os  redirect stdout to Filename in append mode
   +os(Filename)
-stack  set stack reporting options
   -stack(&file=filename, &overhead(n), &external(n), &off, name(n))
+stack  enable stack reporting

       ____________________ SPECIAL DETECTION GROUP ____________________

                          ----- Metrics Options -----

+metric  create, check, or nominate a metric
   +metric(expr [,options] )
+metric_report  enable metric report
   +metric_report([all|nominated])

fme  enable metrics (ON)
fml  metrics for library entities (OFF)

                      ----- Thread Analysis Options -----

-locker_tag  specify alternate locker tag class names
   -locker_tag(type=name [,type=name...])
-mutex_attr  specify shared/recursive values used for pthread_mutexattr_settype
   -mutex_attr([type, ] value [, mask])
-mutex_init  specify alternate pthread mutex initialization macro names
   -mutex_init(type=name [,type=name...])
-thread_report  enable a thread analysis report
   -thread_report(type=type, file=filename [,format=format] [,filter...] [,field...])

faf  enable tracking of all function call locations for thread reports (OFF)
fav  enable tracking of all variable access locations for thread reports (OFF)
fmi  enable supplemental mutex information messages (OFF)
ftc  enable thread analysis checks (ON)

                        ----- Strong Type Options -----

-father  a stricter version of -parent
   -father(parent, child [,child...])
-index  establish ixtype as index type
   -index(flags, ixtype, sitype [,sitype...])
-parent  augment strong type hierarchy
   -parent(parent, child [,child...])
-strong  imbues typedefs with strong type checking characteristics
   -strong(flags [,name...])

fdd  dimensional by default (ON)
ffj  join within one-way hierarchy yields base (ON)
fhd  allow hierarchy downcasts (ON)
fhs  natural hierarchy of strong types (ON)
fhx  hierarchy of index types (ON)

                  ----- Miscellaneous Detection Options -----

-deprecate  deprecates the use of Name within Category
   -deprecate(Category, Name [,Commentary])
-idlen  specifies the number of meaningful characters in identifier names
   -idlen(count [,options])
-misra  (obsolete) specifies the MISRA standard version to use
   -misra(version)
+misra_interpret  enable MISRA interpretation
   +misra_interpret(Language*Year, interpretation)
-misra_interpret  disable MISRA interpretation
   -misra_interpret(Language*Year, interpretation)

                          ----- Semantic Options -----

-function  copy or remove semantics from Function0
   -function(Function0 [,Function1] [,Function2...])
-printf  specified names are printf-like functions with format provided in the Nth argument
   -printf(N, name1 [,name2...])
-scanf  specified names are scanf-like functions with format provided in the Nth argument
   -scanf(N, name1 [,name2...])
-sem  associates the semantic Sem with Function
   -sem(Function [,Sem...])

                       ----- Value Tracking Options -----

-specific_climit  maximum number of specific calls per function
-vt_depth  specifies the maximum number of nested specific walks
   -vt_depth=n
-vt_passes  specifies the number of passes for intermodule value tracking
   -vt_passes=n

fai  arguments pointed to get initialized (ON)
fau  bitwise AND with negative constant is unknown (OFF)
fcw  attribute responsibility for last write in callee to caller (ON)
ffi  format integers relative to nearby limits (OFF)
fiw  initialization is a write (ON)
fiz  initialization by zero is a write (ON)
fls  assume external call chains modify static local variables (OFF)
fnn  new can return null (OFF)
fnr  null pointer return (OFF)
fnz  null pointers correspond to the integral value zero (ON)
fpn  pointer parameter may be null (OFF)
fsp  specific calls (ON)
fsv  track static variables (ON)
fup  treat null pointer values as unknown after reporting them (OFF)
fuu  treat uninitialized values as unknown after reporting them (OFF)
fvd  interactive value tracking debugger (OFF)

回复

使用道具 举报

1

主题

22

回帖

25

积分

新手上路

积分
25
发表于 2025-6-2 22:05:58 来自手机 | 显示全部楼层
可以把你的评估license上传一下吗?
回复

使用道具 举报

86

主题

550

回帖

808

积分

金牌会员

积分
808
发表于 2025-6-2 22:20:49 | 显示全部楼层
korren 发表于 2025-6-2 22:05
可以把你的评估license上传一下吗?

有wechat或邮箱吗?我单独发你吧
回复

使用道具 举报

0

主题

19

回帖

19

积分

新手上路

积分
19
发表于 2025-6-3 09:31:26 | 显示全部楼层
阅读权限255?
回复

使用道具 举报

1

主题

22

回帖

25

积分

新手上路

积分
25
发表于 2025-6-3 22:05:10 | 显示全部楼层
tangqianfeng 发表于 2025-6-2 20:00
非常感谢,我刚试了下full-license,好象功能不全,用于iar检查报一大堆错误,然后我用申请的14天评估的 ...

看到了还有一组密钥没有解密。
回复

使用道具 举报

86

主题

550

回帖

808

积分

金牌会员

积分
808
发表于 2025-6-3 22:51:11 | 显示全部楼层
korren 发表于 2025-6-3 22:05
看到了还有一组密钥没有解密。

需要我的评估license吗
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2025-6-5 17:24:08 | 显示全部楼层
korren 发表于 2025-6-2 16:45
使用同正式版一样的授权lic,不再提示为评估版。
删除之前的pclp.lic使用pclp_full.lic,执行文件用我之前 ...

怎么下载不了呢
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2025-6-6 11:56:06 | 显示全部楼层
有人解决吗?pclp_full.rar 下载不了呢
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2025-6-7 17:04:00 | 显示全部楼层
korren 发表于 2025-6-2 16:45
使用同正式版一样的授权lic,不再提示为评估版。
删除之前的pclp.lic使用pclp_full.lic,执行文件用我之前 ...

下载不了呢,阅读权限255
回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2025-6-12 09:51:06 | 显示全部楼层
权限太高,下载不了
回复

使用道具 举报

86

主题

550

回帖

808

积分

金牌会员

积分
808
发表于 2025-6-12 09:54:26 | 显示全部楼层
korren 发表于 2025-6-3 22:05
看到了还有一组密钥没有解密。

老兄,搞定了吗?
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2025-6-13 16:38:12 | 显示全部楼层
可以试试这个,keil下试了一下还行,——权限有限,debug.exe传不上来.
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2025-6-16 21:19:20 | 显示全部楼层
2025的已经出来,2.2版再次尝试上传一下

pclp2.2.rar

7.95 MB, 下载次数: 89

回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2025-6-16 21:21:11 | 显示全部楼层
D:\software\pclp>pclp64-2025.exe
PC-lint Plus 2025 Beta 3 for Windows, Copyright Vector Informatik GmbH 1985-2025
licensed to 123@123.com
permanent license

            ____________________ MESSAGE GROUP ____________________

                      ----- Error Inhibition Options -----

-e  disables a message where # is a message number or pattern
   -e#
+e  re-enables message(s) #
   +e#
!e  disables message # for the current line
   !e#
-e(  inhibits message #s for the next expression
   -e(# [[,]#...])
--e(  inhibits message #s for the entire enclosing expression
   --e(# [[,]#...])
-e{  inhibits message #s for the next statement
   -e{# [[,]#...]}
--e{  inhibits message #s for the entire enclosing braced region
   --e{# [[,]#...]}
-ecall  inhibits the message #s within calls to Function
   -ecall(# [#...], Function [,Function...])
+ecall  enables the message #s within calls to Function
   +ecall(# [#...], Function [,Function...])
-efile  inhibits the message #s within File
   -efile(# [#...], File [,File...])
+efile  enables the message #s within File
   +efile(# [#...], File [,File...])
+efreeze  freeze the message #s and/or warning level(s)
   +efreeze | +efreeze(#|w# [,#|w#...])
-efreeze  unfreeze the message #s and/or warning level(s)
   -efreeze | -efreeze(#|w# [,#|w#...])
++efreeze  deep freeze the message #s and/or warning level(s)
   ++efreeze | ++efreeze(#|w# [,#|w#...])
-efunc  inhibits the message #s within the body of Function
   -efunc(# [#...], Function [,Function...])
+efunc  enables the message #s within the body of Function
   +efunc(# [#...], Function [,Function...])
-egrep  inhibits the message #s when the message text matches Regex
   -egrep(# [#...], Regex [,Regex...])
+egrep  enables the message #s when the message text matches Regex
   +egrep(# [#...], Regex [,Regex...])
-elib  disables the message #s in library code
   -elib(# [,#...])
+elib  enables message #s in library code
   +elib(# [,#...])
-elibcall  inhibits message #s inside calls to library functions
   -elibcall(# [,#...])
+elibcall  enables message #s inside calls to library functions
   +elibcall(# [,#...])
-elibmacro  inhibits message #s issued for library macros
   -elibmacro(# [,#...])
+elibmacro  enables message #s issued for library macros
   +elibmacro(# [,#...])
-elibsym  inhibits message #s issued for library symbols
   -elibsym(# [,#...])
+elibsym  enables message #s issued for library symbols
   +elibsym(# [,#...])
-emacro  inhibits message #s within macro expansions
   -emacro(# [#...], Symbol [,Symbol...])
+emacro  enables message #s within macro expansions
   +emacro(# [#...], Symbol [,Symbol...])
--emacro  inhibits message #s within macro expansions
   --emacro(# [#...], Symbol [,Symbol...])
-equery  inhibits the message #s when Query matches
   -equery(# [#...], Query)
+equery  enables the message #s when Query matches
   +equery(# [#...], Query)
-estring  inhibits the message #s parameterized by String
   -estring(# [#...], String [,String...])
+estring  enables the message #s parameterized by String
   +estring(# [#...], String [,String...])
-esym  inhibits the message #s parameterized by Symbol
   -esym(# [#...], Symbol [,Symbol...])
+esym  enables the message #s parameterized by Symbol
   +esym(# [#...], Symbol [,Symbol...])
-etype  inhibits the message #s parameterized by Type
   -etype(# [#...], Type [,Type...])
+etype  enables the message #s parameterized by Type
   +etype(# [#...], Type [,Type...])
+group  adds messages from Pattern to message group Name
   +group(Name [,Pattern...])
-group  remove Pattern from group Name or delete Name
   -group(Name [,Pattern...])
-restore  restores the state of error inhibition settings
-save  saves the current state of error inhibition settings
-w  sets the base warning level
   -w#
-wlib  sets the base warning level for library code
   -wlib(#)

                         ----- Verbosity Options -----

-v  turn off verbosity or send it to stdout
   -v[acehiotuw#][mf<int>]
+v  output verbosity to stderr and stdout
   +v[acehiotuw#][mf<int>]
-verbosify  print string as a verbosity message
   -verbosify(string)

                    ----- Message Presentation Options -----

-append  append String to diagnostic # when issued
   -append(#, String)
-format  sets the message format for height 3 or less
-format4a  sets the format of the message that appears above the error for height 4
-format4b  sets the format of the message that appears below the error for height 4
-format_category  set format for message category
   -format_category(category, string)
-format_intro  sets the format of the line that appears before each new message set
-format_stack  sets the format of the stack usage message
-format_summary  format of the output produced by the -summary option
-format_template  (obsolete) sets the formatting of the prologue used when a message is issued while instantiating a class template
-format_verbosity  sets the format of verbosity output
-h  adjusts message height options
   -h[A/B][a/b][r][I]N
+html  emit HTML output
   +html(sub-option, ...)
-limit  set the message limit to n
   -limit(n)
++limit  locks in the message limit at n
   ++limit(n)
-message  emits a custom message via info 865
   -message(text)
+message  emits a custom message with the specified message #
   +message([#,] text)
+paraminfo  include parameter information for specified messages as verbosity
   +paraminfo(# [,#...])
-paraminfo  exclude parameter information for specified messages as verbosity
   -paraminfo(# [,#...])
-summary  outputs a message summary at the end of processing, optionally to a file
   -summary | -summary=filename
-t  sets tab width
   -t#
+typename  includes the types of symbols when emitting specified messages
   +typename(# [,#...])
-typename  excludes the types of symbols when emitting specified messages
   -typename(# [,#...])
-width  sets the maximum output width and indentation level for continuations
   -width(# [,Indent])
+xml  activates XML escape sequences
   +xml([tag])

f12  view MISRA C 2012 essential types (OFF)
fcc  capitalize message categories (OFF)
fcn  convert non-printable characters in context line (ON)
fff  fold filenames to a consistent case (ON)
ffn  use full file names (OFF)
fia  inhibit supplementary messages (OFF)
fin  refer to supplemental messages with the info label (OFF)
fla  locations for all diagnostics (ON)
flm  lock message format (OFF)
fsn  treat strings as names (ON)

           ____________________ PROCESSING GROUP ____________________

                    ----- Compiler Adaptation Options -----

-A  (obsolete) specifies the C or C++ language version
   -A={C|C++}{YY|YYYY}
-lang_limit  specify minimum language translation limits
   -lang_limit(C|C++, limit-name, limit-value)
-build_module_interface_unit  build a C++ module interface unit
   -build_module_interface_unit(filename[, module_decl_name])
-std  specifies the C or C++ language version
   -std={c89|c90|c99|c11|c17|c23|c++98|c++03|c++11|c++14|c++17|c++20|c++23}

                        ----- Preprocessor Options -----

-d  define the preprocessor symbol Name with value Value
   -d{Name}[={Value}]
+d  define the preprocessor symbol Name resistant to change via #define
   +dName[=Value]
++d  define the preprocessor symbol Name that cannot be #undef'd
   ++dName[=Value]
-header  auto-include Filename at the beginning of each module
   -header(Filename)
--header  clears previous auto-includes and optionally adds a new one
   --header | --header(Filename)
-i  add search directory for #include directives
   -idirectory
-I  add search directory for #include directives
   -Idirectory
--i  add lower-priority search directory for #include directives
   --idirectory
-incvar  change the name of the INCLUDE environment variable to Name
   -incvar(Name)
+macros  (obsolete) double the maximum macro size
   +macros
-macros  (obsolete) halve the maximum macro size
   -macros
-pch  designates a given header as the pre-compiled header, creating precompiled form if needed
   -pch(Header)
+pch  designates a given header as the pre-compiled header, forcing recreation
   +pch(Header)
-pp_sizeof  set the value that sizeof(Text) evaluates to in a preprocessor directive
   -pp_sizeof(Text, Value)
-u  undefine the preprocessor symbol Name
   -uName
--u  ignore past and future #defines of the preprocessor symbol Name
   --uName
+ppw  enable preprocessor keyword(s)
   +ppw(word [,word...])
-ppw  disable preprocessor keyword(s)
   -ppw(word [,word...])
--ppw  remove built in meaning of preprocessor keyword(s)
   --ppw(word [,word...])
-ppw_asgn  assign preprocessor word meaning of Word2 to Word1
   -ppw_asgn(Word1, Word2)
+pragma  associates Action with Identifier for #pragma
   +pragma(Identifier, Action)
-pragma  disables pragma Identifier
   -pragma(Identifier)

fce  continue on #error (OFF)
fcs  continue on static assertion failure (OFF)
fdg  expansion of digraphs (ON)
fdm  comma from macro expansion does not delimit macro args (OFF)
fgl  use GNU line markers in preprocessed output (ON)
fho  header include guard optimization (OFF)
fim  -i can have multiple directories (ON)
fkp  use K&R preprocessor (OFF)
fln  honor #line directives for diagnostics (ON)
frc  remove commas before __VA_ARGS__ (OFF)
fsi  search #include stack (OFF)
fsl  single line comments (OFF)

                         ----- Tokenizing Options -----

-$  permit $ in identifiers
-ident  add identifier characters
   -ident(chars)
+linebuf  (obsolete) double the size of the line buffer
+rw  enable reserved word(s)
   +rw(word [,word...])
-rw  disable reserved word(s)
   -rw(word [,word...])
--rw  remove built in meaning of reserved word(s)
   --rw(word [,word...])
-rw_asgn  assigns reserved word meaning of Word2 to Word1
   -rw_asgn(Word1, Word2)

fnc  nested comments (OFF)
ftg  permit trigraphs (ON)

                          ----- Parsing Options -----

-ar_limit  set the operator arrow depth limit to n
   -ar_limit=n
-br_limit  set the bracket depth limit to n
   -br_limit=n
-cc_limit  set the constexpr call depth limit to n
   -cc_limit=n
-cs_limit  set the constexpr step limit to n
   -cs_limit=n
-fallthrough  ignores switch case fallthrough when used in a lint comment
-tr_limit  set the template recursion limit to n
   -tr_limit=n
-unreachable  ignores unreachable code when used in a lint comment

fec  allow colon introducer for explicit address extension (OFF)
ffb  for loop creates separate block (ON)
flf  process library functions (OFF)
fon  support for C++ operator name keywords (ON)
fpe  use precision of enumerators instead of explicit enum base type (ON)
fpm  limit precision to the maximum of the arguments (OFF)
fpo  limit precision to the type of the operation (ON)

              ____________________ DATA GROUP ____________________

                      ----- Scalar Data Size Options -----

-s  set the size of various types
   -sb8   bits in a byte (should match CHAR_BIT)
   -sbo1  sizeof(bool)
   -ss2   sizeof(short)
   -si4   sizeof(int)
   -sl4   sizeof(long)
   -sll8  sizeof(long long)
   -sf4   sizeof(float)
   -sd8   sizeof(double)
   -sld8  sizeof(long double)
   -sp4   sizeof(void*)
   -sw2   sizeof(wchar_t)

-size  set static or auto size thresholds
   -size(flags, amount)

fba  bit addressability (OFF)
fbo  activate bool, true, false (ON)
fcu  char is unsigned (OFF)
fdl  pointer difference is long (OFF)
fll  allow long long int (OFF)
fsc  strings are const char* even in C (OFF)
fwu  wchar_t is unsigned (OFF)

                   ----- Scalar Data Alignment Options -----

-a  set the alignment of various types

         ____________________ MISCELLANEOUS GROUP ____________________

                            ----- File Options -----

+cpp  add C++ extension(s)
   +cpp(Extension [,Extension...])
-cpp  remove C++ extension(s)
   -cpp(Extension [,Extension...])
+ext  set the extensions to try for extensionless files
   +ext(Extension [,Extension...])
+headerwarn  causes message #829 to be issued when Filename is #included
   +headerwarn(Filename)
-indirect  process File as an options file
   -indirect(File [,...])
+libclass  add class of headers treated as libraries
   +libclass(Identifier [,...])
+libdir  specify a Directory of headers to treat as libraries
   +libdir(Directory [,...])
-libdir  specify a Directory of headers to not treat as libraries
   -libdir(Directory [,...])
+libh  specify Headers to treat as libraries
   +libh(Header [,...])
-libh  specify Headers to not treat as libraries
   -libh(Header [,...])
+libm  specify Modules to treat as libraries
   +libm(Module [,...])
-libm  specify Modules to not treat as libraries
   -libm(Module [,...])
-library  indicates the next source module is to be treated as library code
   -library
+lnt  add indirect file extension(s)
   +lnt(Extension [,Extension...])
-lnt  remove indirect file extension(s)
   -lnt(Extension [,Extension...])
-astquery  register a Query to be evaluated during AST traversal
-dump_queries  disable dumping of parsed Query ASTs
   -dump_queries
+dump_queries  enable dumping of parsed Query ASTs
   +dump_queries([sub-options])

fdh  append '.h' to header names in #include's (OFF)
fdi  search directory of including file (ON)
flb  treat code as library (OFF)

                           ----- Global Options -----

?  displays help
-b  suppress banner output
+b  redirect banner output to stdout
++b  produce banner line
-cond  conditionally execute options
   -cond(conditional-expr, true-options [,false-options])
-diag_accounting  emit diagnostic accounting data
   -diag_accounting(sub-options)
-dump_messages  dumps PC-lint Plus messages to the provided file in the specified format
   -dump_messages(file=filename [,format={plain|list|json|yaml|csv|xml}] [,sub-options])
-dump_message_list  dumps PC-lint Plus message list to the provided file
   -dump_message_list=filename
-exitcode  set the exit code to n
   -exitcode=n
+f  turns a flag on
-f  turns a flag off
++f  increments a flag
--f  decrements a flag
-fatal_error  triggers a suppressible fatal error using message 398
   -fatal_error(message)
+fatal_error  triggers an unsuppressible fatal error using message 399
   +fatal_error(message)
-help  display detailed help about Option
   -help=Option
-max_threads  set the maximum number of concurrent threads for parallel analysis
   -max_threads=n
-p  just preprocess
   -p | -p(width)
-setenv  set environment variable name to value
   -setenv(name=value)
-skip_function  skips the body of a Function when parsing
   -skip_function(Function [,Function...])
-subfile  process just options or just modules from options file File
   -subfile(File, options|modules)
-unit_check  unit checkout
--unit_check  unit checkout and ignore modules in lower .lnt files
-write_file  write String to file Filename
   -write_file(String, Filename [,append=true|false] [,binary=true|false])
-zero  sets exit code to 0
   -zero | -zero(#)
+zero_err  specify message numbers that should not increment exit code
   +zero_err(# [#...])
-zero_err  specify message numbers that should increment exit code
   -zero_err(# [#...])

faa  enable aligned allocations (OFF)
fbe  enable backslash escapes for special option characters (OFF)
fcp  all subsequent modules are considered C++ (OFF)
fcv  don't report parameter could be const if exclusively cast to void (ON)
fdx  consider use of operator delete to be a modification (OFF)
fee  expand environment variables (ON)
fes  search enclosing scopes for friend tag decls (OFF)
fet  require explicit throw specifications (OFF)
ffv  implicit function to void pointer conversion (OFF)
ffw  allow friend decl to act as forward decl (OFF)
fgi  inline treated as GNU inline (OFF)
fit  thrown exception renders function not declared noexcept impure (OFF)
flo  library declarations override non-library declarations (OFF)
flp  lax null pointer constants (OFF)
fma  microsoft inline asm blocks (OFF)
fms  microsoft semantics (OFF)
fmx  enable member access control in C++ (ON)
fnf  fall back to operator new when new[] not available (OFF)
fpa  pause before exiting (OFF)
fql  execute queries in library regions (ON)
frz  use return code only to indicate execution failure (ON)
fsd  output stack diagrams (OFF)
fta  enable typographical ambiguity checks (ON)
fub  ignore unreachable break in switch (ON)
fum  user declared move deletes only corresponding copy (OFF)
fun  issue additional stack usage notes (OFF)
fuv  report unreferenced variables that could be const (OFF)
fxt  extern C functions can throw exceptions (OFF)
fzd  enable sized deallocations (OFF)

                           ----- Output Options -----

-env_pop  pop the current option environment
-env_push  push the current option environment
-env_restore  restore the option environment to a previously saved one
   -env_restore(Name)
-env_save  save the current option environment with name Name
   -env_save(Name)
-oe  redirect stderr to Filename overwriting existing content
   -oe(Filename)
+oe  redirect stderr to Filename in append mode
   +oe(Filename)
-os  redirect stdout to Filename overwriting existing content
   -os(Filename)
+os  redirect stdout to Filename in append mode
   +os(Filename)
-stack  set stack reporting options
   -stack(&file=filename, &overhead(n), &external(n), &off, name(n), &prealloc_vars)
+stack  enable stack reporting

       ____________________ SPECIAL DETECTION GROUP ____________________

                          ----- Metrics Options -----

+metric  create, check, or nominate a metric
   +metric(expr [,options] )
+metric_report  enable metric report
   +metric_report([all|nominated])

fme  enable metrics (ON)
fml  metrics for library entities (OFF)

                      ----- Thread Analysis Options -----

-locker_tag  specify alternate locker tag class names
   -locker_tag(type=name [,type=name...])
-mutex_attr  specify shared/recursive values used for pthread_mutexattr_settype
   -mutex_attr([type, ] value [, mask])
-mutex_init  specify alternate pthread mutex initialization macro names
   -mutex_init(type=name [,type=name...])
-thread_report  enable a thread analysis report
   -thread_report(type=type, file=filename [,format=format] [,filter...] [,field...])

faf  enable tracking of all function call locations for thread reports (OFF)
fav  enable tracking of all variable access locations for thread reports (OFF)
fmi  enable supplemental mutex information messages (OFF)
ftc  enable thread analysis checks (ON)

                        ----- Strong Type Options -----

-father  a stricter version of -parent
   -father(parent, child [,child...])
-index  establish ixtype as index type
   -index(flags, ixtype, sitype [,sitype...])
-parent  augment strong type hierarchy
   -parent(parent, child [,child...])
-strong  imbues typedefs with strong type checking characteristics
   -strong(flags [,name...])

fdd  dimensional by default (ON)
ffj  join within one-way hierarchy yields base (ON)
fhd  allow hierarchy downcasts (ON)
fhs  natural hierarchy of strong types (ON)
fhx  hierarchy of index types (ON)

                  ----- Miscellaneous Detection Options -----

-deprecate  deprecates the use of Name within Category
   -deprecate(Category, Name [,Commentary])
-idlen  specifies the number of meaningful characters in identifier names
   -idlen(count [,options])
-misra  (obsolete) specifies the MISRA standard version to use
   -misra(version)
+misra_interpret  enable MISRA interpretation
   +misra_interpret(Language*Year, interpretation)
-misra_interpret  disable MISRA interpretation
   -misra_interpret(Language*Year, interpretation)

                          ----- Semantic Options -----

-function  copy or remove semantics from Function0
   -function(Function0 [,Function1] [,Function2...])
-printf  specified names are printf-like functions with format provided in the Nth argument
   -printf(N, name1 [,name2...])
-scanf  specified names are scanf-like functions with format provided in the Nth argument
   -scanf(N, name1 [,name2...])
-sem  associates the semantic Sem with Function
   -sem(Function [,Sem...])

                       ----- Value Tracking Options -----

-specific_climit  maximum number of specific calls per function
-vt_depth  specifies the maximum number of nested specific walks
   -vt_depth=n
-vt_passes  specifies the number of passes for intermodule value tracking
   -vt_passes=n

fai  arguments pointed to get initialized (ON)
fau  bitwise AND with negative constant is unknown (OFF)
fcw  attribute responsibility for last write in callee to caller (ON)
ffi  format integers relative to nearby limits (OFF)
fiw  initialization is a write (ON)
fiz  initialization by zero is a write (ON)
fls  assume external call chains modify static local variables (OFF)
fnn  new can return null (OFF)
fnr  null pointer return (OFF)
fnz  null pointers correspond to the integral value zero (ON)
fpn  pointer parameter may be null (OFF)
fsp  specific calls (ON)
fsv  track static variables (ON)
fup  treat null pointer values as unknown after reporting them (OFF)
fuu  treat uninitialized values as unknown after reporting them (OFF)
fvd  interactive value tracking debugger (OFF)
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2025-6-17 10:12:38 | 显示全部楼层
tangqianfeng 发表于 2025-6-17 10:07
你这个license好象可以,没有以前的报错了,这个邮箱可以自定义吗?

邮箱可以自定义,但是license中的option有些关联
回复

使用道具 举报

86

主题

550

回帖

808

积分

金牌会员

积分
808
发表于 2025-6-17 10:16:49 | 显示全部楼层
本帖最后由 tangqianfeng 于 2025-6-17 10:19 编辑
leangyi 发表于 2025-6-16 21:21
D:\software\pclp>pclp64-2025.exe
PC-lint Plus 2025 Beta 3 for Windows, Copyright Vector Informatik  ...

2025可以上传一下吗?谢谢
另外2.2的debug.exe可否也上传一下,谢谢
回复

使用道具 举报

86

主题

550

回帖

808

积分

金牌会员

积分
808
发表于 2025-6-17 15:58:45 | 显示全部楼层
leangyi 发表于 2025-6-17 10:12
邮箱可以自定义,但是license中的option有些关联

要如何更改啊?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 00:04 , Processed in 0.078408 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表