Content deleted Content added
→Tools for mitigating issues with C: previous edit followed summary paragraph; removed unsubstantiated claims, and rduced GCC details to one entence in a better ___location |
|||
Line 144:
There are many C programmers who have learned to cope with C's quirks. However, some programmers may wish to use tools that have been created to help them overcome such problems.
Automated [[source code]] checking and auditing are beneficial in any language, and for C many such tools exist, such as [[lint programming tool|Lint]]. A common practice is to use Lint to detect questionable code when a program is first written. Once a program passes Lint, it is then compiled using the C compiler. Many compilers can optionally warn about syntactically valid contructs that are likely to actually be errors.
There are also compilers, libraries and [[operating system]] level mechanisms for performing array bounds checking, [[buffer overflow]] detection, and [[garbage collection (computer science)|automatic garbage collection]], that are not a standard part of C.
Line 153:
It should be recognized that these tools are not a panacea. Because of C's flexibility, some types of errors involving misuse of variadic functions, out-of-bounds array indexing, and incorrect [[memory management]] cannot be detected on some architectures without incurring a significant performance penalty. However, some common cases can be recognized and accounted for.
== See also ==
|