This program runs perfectly on one machine ...
This program runs perfectly on one machine, but I get weird results on another. Stranger still, adding or removing a debugging printout changes the symptoms...
Lots of things could be going wrong; here are a few of the more common things to check:
* uninitialized local variables
integer overflow, especially on 16-bit machines, especially of an intermediate result when doing things like a * b / c
* undefined evaluation order
* omitted declaration of external functions, especially those which return something other than int, or have ``narrow'' or variable arguments
* dereferenced null pointers
* improper malloc/free use: assuming malloc'ed memory contains 0, assuming freed storage persists, freeing something twice, corrupting the malloc arena
* pointer problems in general
* mismatch between printf format and arguments, especially trying to print long ints using %d
* trying to allocate more memory than an unsigned int can count, especially on machines with limited memory
* array bounds problems, especially of small, temporary buffers, perhaps used for constructing strings with sprintf
* invalid assumptions about the mapping of typedefs, especially size_t
* floating point problems
* anything you thought was a clever exploitation of the way you believe code is generated for your specific system
Proper use of function prototypes can catch several of these problems; lint would catch several more.
2015-05-27, 975👍, 0💬
How do we access attributes using “XmlReader”? Below snippets shows the way to access attributes. Fi...
How To Select All Columns of All Rows from a Table? - MySQL FAQs - SQL SELECT Query Statements with ...
Why is there extra white space before or after tables? This is often caused by invalid HTML syntax. ...
What Information Is Needed to Connect SQL*Plus an Oracle Server? - Oracle DBA FAQ - Introduction to ...
Can you explain the fundamentals of “GetGlobalResourceObject ”and “GetLocalResourceObject” function...