Update
This commit is contained in:
parent
0707639560
commit
93e58a61af
8 changed files with 30 additions and 9 deletions
|
@ -4,6 +4,8 @@
|
|||
|
||||
Unless specified otherwise, this article supposes the C99 standard of the C language.
|
||||
|
||||
**Generally**: be sure to check your programs with tools such as [valgrind](valgrind.md), [splint](splint.md) or [cppcheck](cppcheck.md), and turn on compiler auto checks (`-Wall`, `-Wextra`, `-pedantic`, ...), it's quick, simple and reveals many bugs!
|
||||
|
||||
## Undefined/Unspecified Behavior
|
||||
|
||||
Undefined (completely unpredictable), unspecified (safe but potentially differing) and implementation-defined (consistent within implementation but potentially differing between them) behavior poses a kind of unpredictability and sometimes non-intuitive, tricky behavior of certain operations that may differ between compilers, platforms or runs because they are not exactly described by the language specification; this is mostly done on purpose so as to allow some implementation freedom which allows implementing the language in a way that is most efficient on given platform. One has to be very careful about not letting such behavior break the program on platforms different from the one the program is developed on. Note that tools such as [cppcheck](cppcheck.md) can help find undefined behavior in code. Description of some such behavior follows.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue