--------------------------------------------------
--- Manual Additions/Modifications ---
--------------------------------------------------
PC-lint for C/C++ Version 8.00e
This readme.txt supplements the on-line PC-lint manual entitled
"Reference Manual for PC-lint/Flexelint" found in the installation
directory under the name "pc-lint.pdf"
------ What's New ------
To find out what we've added to the product since Version 7.50,
check out Chapter 18 "What's New" in the Reference Manual.
------ Front End ------
Your linting experience will be considerably enhanced by adapting
your favorite editor or compiler environment to the task of
sequencing from error to error. See Section 3.5 of the Reference
Manual.
------ Multiple Passes ------
By default, PC-lint/FlexeLint will go through all your modules in
one pass. For projects not previously linted there will be enough
messages to look at. However, with just one pass, you will not be
taking full advantage of our new interfunction value tracking. With
just one pass, we will not know about dangerous return values for
functions that are defined later than they are called, and we will
not know about dangerous arguments for functions that are defined
early. To introduce a second pass you need only to add the command
line option:
-passes(2)
or, if this syntax presents a problem with your Shell, you may use:
-passes[2]
or, in some cases,
-passes=2
is needed.
See Section 9.2.2, "Interfunction Value Tracking".
------ Improved Exception Handling in 8.00e ------
Earlier patch levels (8.00d and earlier) would report that a
function could throw an exception yet failed to provide an exception
specification (i.e., was not declared with a throw-list). For
example:
void f() { throw X(); }
would be greeted with a Warning suggesting that this might be
changed to:
void f() throw(X) { throw X(); }
But the absence of an exception specification indicates that a
function can potentially throw any exception. Thus, the first
version is perfectly safe. Moreover, if the constructor for X()
does not have an exception specification, which is the current
programming norm, the first version is actually safer than the
second because a thrown exception other than what is declared for
can cause the dreaded UnexpectedException to be thrown in its place.
See, for example, reference [23], Scott Myers "More Effective C++",
Item 14. Hence we now reserve these warnings for when the
programmer has supplied an exception specification Thus:
void f() throw(Y) { throw X(); }
will receive a warning that X is not on the list; moreover, if
X::X() can throw exceptions not confined to Y, then this too will be
reported.
The text of messages 1549, 1550 and 1560 have been altered to
reflect this improved handling of exceptions.
------ New or Improved Error Messages ------
686 Option 'String' is suspicious because of 'Name' -- An option is
considered suspicious for one of a variety of reasons that is
specified by Name. At this writing, the only reason code is
'unbalanced quotes'.
1076 Anonymous union assumed to be 'static' -- Anonymous unions need
to be declared static. This is because the names contained
within are considered local to the module in which they are
declared.
1549 Exception thrown for function 'Symbol' not declared to throw --
An exception was thrown (i.e., a throw was detected) within a
function and not within a try block; moreover the function was
declared to throw but the exception thrown was not on the list.
If you provide an exception specification, include all the
exception types you potentially will throw. [23, Item 14]
1550 exception 'Name' thrown by function 'Symbol' is not on
throw-list of function 'Symbol' -- A function was called (first
Symbol) which was declared as potentially throwing an
exception. The call was not made from within a try block and
the function making the call had an exception specification.
Either add the exception to the list, or place the call inside
a try block and catch the throw. [23, Item 14]
1560 Uncaught exception 'Name' not on throw-list of function
'Symbol' -- A direct or indirect throw of the named exception
occurred within a try block and was either not caught by any
handler or was rethrown by the handler. Moreover, the function
has an exception specification and the uncaught exception is
not on the list. Note that a function that fails to declare a
list of thrown exceptions is assumed to potentially throw any
exception.
Gimpel Software
November 2001
没有合适的资源?快使用搜索试试~ 我知道了~
pclint(附带使用方法)
共130个文件
lnt:103个
c:7个
exe:7个
5星 · 超过95%的资源 需积分: 9 220 下载量 64 浏览量
2009-12-26
23:49:43
上传
评论 2
收藏 3.55MB RAR 举报
温馨提示
pclint 使用方法,配置条件pclint 使用方法,配置条件pclint 使用方法,配置条件pclint 使用方法,配置条件pclint 使用方法,配置条件pclint 使用方法,配置条件pclint 使用方法,配置条件pclint 使用方法,配置条件
资源推荐
资源详情
资源评论
收起资源包目录
pclint(附带使用方法) (130个子文件)
lint2msg.c 10KB
sl-desm.c 5KB
sl-lc2.c 4KB
sl-c86.c 4KB
sl.c 4KB
sl-qc88.c 4KB
sl-mwc.c 4KB
PClint静态代码检查工具.doc 737KB
CONFIG.exe 508KB
Lint.exe 464KB
lint-nt.exe 464KB
UNWISE.EXE 159KB
patch.exe 59KB
pr.exe 47KB
lint2msg.exe 10KB
co-bc5.h 783B
lib-bcl.h 557B
co-mc.h 492B
co-vage.h 292B
lib-rw.h 209B
lib-in.h 42B
UNWISE.INI 29B
au-misra.lnt 22KB
co-msc60.lnt 9KB
co-bc5.lnt 9KB
co-msc50.lnt 9KB
co-msc40.lnt 9KB
co-msc20.lnt 8KB
co-bcos2.lnt 7KB
co-bc4.lnt 7KB
co-kc166.lnt 7KB
co-cb.lnt 7KB
co-gnu3.lnt 7KB
au-sm.lnt 7KB
co-msc.lnt 7KB
co-kc51.lnt 6KB
env-vc6.lnt 6KB
co-gnu.lnt 6KB
co-frank.lnt 6KB
co-ibm32.lnt 6KB
co-bc.lnt 5KB
co-tc.lnt 5KB
env-vc5.lnt 5KB
co-hc.lnt 5KB
lib-mfc.lnt 5KB
co-wcos2.lnt 4KB
co-wc32.lnt 4KB
co-unix.lnt 4KB
co-bc4wi.lnt 4KB
env-bc5.lnt 4KB
co-wc16.lnt 4KB
env-tide.lnt 4KB
co-bcwin.lnt 4KB
env-cw6.lnt 4KB
co-tcwin.lnt 4KB
env-bwin.lnt 4KB
lib-owl5.lnt 3KB
co-ztc.lnt 3KB
lib-win.lnt 3KB
co-cc386.lnt 3KB
co-mswin.lnt 3KB
co-sc.lnt 3KB
env-cw.lnt 3KB
co-vage.lnt 3KB
env-vc4.lnt 3KB
co-cosm.lnt 3KB
co-sc7.lnt 3KB
co-arch.lnt 3KB
lib-wnt.lnt 3KB
co-cc86.lnt 3KB
co-in386.lnt 2KB
co-diab.lnt 2KB
env-vc2.lnt 2KB
lib-w32.lnt 2KB
lib-owl.lnt 2KB
lib-bcl5.lnt 2KB
co-tsc.lnt 2KB
co-lc6.lnt 2KB
co-in.lnt 2KB
lib-bcl.lnt 2KB
co-qc88.lnt 2KB
env-mew.lnt 2KB
co-ti320.lnt 2KB
co-in96.lnt 2KB
co-wh.lnt 2KB
co-ht.lnt 2KB
co-byte.lnt 2KB
co-iar80.lnt 2KB
co-iar78.lnt 2KB
co-lc2.lnt 2KB
co-iar.lnt 2KB
co-ibmc2.lnt 2KB
co-c86.lnt 2KB
co-aztec.lnt 2KB
env-pwb.lnt 2KB
env-sled.lnt 2KB
co-mwc.lnt 2KB
co-mc386.lnt 2KB
env-sl3.lnt 2KB
co-desm.lnt 2KB
共 130 条
- 1
- 2
arvind_embed
- 粉丝: 0
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
前往页