C (programming Language) - Language Tools

Language Tools

This section does not cite any references or sources.

Tools have been created to help C programmers avoid some of the problems inherent in the language, such as statements with undefined behavior or statements that are not a good practice because they are likely to result in unintended behavior or run-time errors.

Automated source code checking and auditing are beneficial in any language, and for C many such tools exist, such as 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. Also, many compilers can optionally warn about syntactically valid constructs that are likely to actually be errors. MISRA C is a proprietary set of guidelines to avoid such questionable code, developed for embedded systems.

There are also compilers, libraries, and operating system level mechanisms for performing actions that are not a standard part of C, such as array bounds checking, buffer overflow detection, serialization, and automatic garbage collection.

Tools such as Purify or Valgrind and linking with libraries containing special versions of the memory allocation functions can help uncover runtime errors in memory usage.

Read more about this topic:  C (programming Language)

Famous quotes containing the words language and/or tools:

    We find that the child who does not yet have language at his command, the child under two and a half, will be able to cooperate with our education if we go easy on the “blocking” techniques, the outright prohibitions, the “no’s” and go heavy on “substitution” techniques, that is, the redirection or certain impulses and the offering of substitute satisfactions.
    Selma H. Fraiberg (20th century)

    No man is born into the world, whose work
    Is not born with him; there is always work,
    And tools to work withal, for those who will:
    And blessèd are the horny hands of toil!
    James Russell Lowell (1819–1891)