??? 05/03/08 20:10 Read: times Msg Score: +1 +1 Good Answer/Helpful |
#154352 - but it's basically the same... Responding to: ???'s previous message |
... and (buffer+8) would not be a valid indexable identifier for an array in a true HLL. And, it's just an another way how pointer arithmetics accomplishes. After all, the first thing a C course teaches, that arrays in C are just a different notation of pointers, and the indices are just a different notation for the pointer arithmetics.
At the end of the day, I see nothing non-C-ish in *(buffer+8+index), and, as you can see on the example above, it's nicely optimised by SDCC (and I don't doubt Keil would optimise it too). Nevertheless, in a truely HLL approach, it's the task of the compiler's optimiser to take care of these cases, no matter how are they written down. A HLL program is supposed to convey the programmer's intention, rather than give a prescription to the compiler; and it's the compiler's (or, the compiler-maker's) task to figure out how to accomplish the programmer's intention in the given platform. JW PS. Of course I see your point and it's a valid one. But a straightforward agreement would not make a discussion, would it? :-P |
Topic | Author | Date |
"Real C" vs '51 C | 01/01/70 00:00 | |
there is nothing wrong except... | 01/01/70 00:00 | |
if you are not , why are you even here | 01/01/70 00:00 | |
*(buffer+8+index)? | 01/01/70 00:00 | |
none of the above | 01/01/70 00:00 | |
OK then how? | 01/01/70 00:00 | |
like this | 01/01/70 00:00 | |
but it's basically the same... | 01/01/70 00:00 | |
YCMV | 01/01/70 00:00 | |
No | 01/01/70 00:00 | |
assumptions | 01/01/70 00:00 | |
Re: assumptions | 01/01/70 00:00 | |
I took a \'known\' example | 01/01/70 00:00 | |
Compiler-independent efficient C | 01/01/70 00:00 | |
a clarification and an example | 01/01/70 00:00 | |
Two kinds of "efficiency" | 01/01/70 00:00 | |
Compiler smarter than coder | 01/01/70 00:00 | |
Getting the least out of your compiler | 01/01/70 00:00 | |
Real C is inherently reentrant | 01/01/70 00:00 | |
which, even when possible, often is ill advised | 01/01/70 00:00 |