From: drl7x Which compilers does Splint support? I want to use Splint in win2000. How do I do
+ I want to use Splint in Windows. How do I do
that? http://www.splint.org/win32.html
- for Windows instructions. I have installed Splint for Windows 2000. Where
should I put the ".splintrc" file? your home directory. See the Splint manual for more information.
Installation
+
@@ -143,7 +142,7 @@
- It is independent from your compiler.
+ Splint is independent from your compiler. It should be able to handle code written for any compiler as long as the code is C99 compliant.
- See www.splint.org for information on
- Splint.
+
+ See http://splint.org/win32.html for instructions on obtaining and installing Splint on Windows.
-
-
For Win32, Splint looks for splint.rc instead of .splintrc due to the DOS
- filename problems. It will look first in the current directory, then in
-
-
-
- Usually not, but Splint doesn't support all C99 extensions.@@ -252,9 +249,12 @@
+ Usually not.
+ Parse errors usually occur in code written for compilers that use nonstandard keywords. (See the question on using Splint for code development on embedded systems.)
+ + If you're getting parse errors make sure that the required libraries are included by using the +posixlib or +unixlib flags. If you're using nonstandard gnu extensions the +gnuextensions flag make be helpful.
+ + However, Splint doesn't yet support all C99 extensions so there are some legitimate C programs that will need to be modified.
I heard that Splint can generate some spurious errors ( not genuine errors). Is it correct ?
- Yes, please see www.splint.org for - details.
-
+ + Yes. Many of the program properties that Splint checks are undecidable. This means that any static analysis tool that can be run on real programs will either produce false positives or false negatives. Because +of this and to improve efficiency, Splint makes some simplifying assumptions. This means +that Splint will occasionally produce spurious warnings or miss real errors.
+ +However, often spurious errors can be fixed by adding additional annotations.