Re:The Pocket Handbook of Image Processing Algorithms in C (...
by wtracy on Sunday June 01, 2014 @03:13AM
(#7828420)
Do note that modern compilers can detect when the return value of the ++ operator is unused, and skip the extra steps when unneeded. (I've verified the resulting assembler myself from GCC 3.X.) That said, I still use the prefix notation because I can't come up with a good reason not to.
Re:The Pocket Handbook of Image Processing Algorithms in C (...
by NAFV_P on Sunday June 01, 2014 @03:21AM
(#7828443)
> Do note that modern compilers can detect when the return value of the ++ operator is unused, and skip the extra steps when unneeded.
Is there an equivalent instruction in assembly for postfix increment/decrement?
Re:The Pocket Handbook of Image Processing Algorithms in C (...
by wtracy on Sunday June 01, 2014 @03:53AM
(#7828490)
Neither one really has a direct "equivalent" in assembly.
Prefix is going to look something like:
inc eax # increment the value
mov eax,ecx # copy the return value to its destination
Postfix is going to look something like: mov eax,ebx # copy original value
inc eax # increment value
mov ebx,ecx # copy original value to final destination
The actual code you'd get would vary a lot between compilers, architectures, and even just different contexts within the same compiler-architecture combination.
The postfix operator can incur a temporary variable to be created by the compiler and thus make code slower.
Reference: http://www.idinews.com/peeves/prefixIncr.html
Also, item #6 from "More Effective C++": http://bin-login.name/ftp/pub/docs/programming_languages/cpp...