Re: Just what makes an architecture "C Friendly"?



In my opinion, probably one of the biggest factors would be the
development tools. By this I mean things like how efficient is the
output code, how much support are provided by the compiler libraries,
how compatible is the compiler and its pre-processor with standard C,
how well does the debugger or emulator handle high level stepping and
hierachy, etc.

Not sure this has much to do with the architecture of a processor. I would
of thought something along the lines of:
+ Easy stack manipulation (C by its nature likes to use a stack).
+ No hard limits on stack size (other than the amount of RAM naturally).
+ Decent number of registers for use by the compiler.
+ Instruction set that is easily mappable to C constructs.
+ etc.

Regards,
Richard.

http://www.FreeRTOS.org
*Now for ARM CORTEX M3!*


.



Relevant Pages

  • Re: Do buffers always start with the lowest memory address being the first element?
    ... > The C standard does not assume a downward-growing stack, ... > an upward-growing stack. ... C allows but does not require that the array produced ... > machine depends on both the C compiler and the machine. ...
    (comp.lang.c)
  • Re: switch statement, was compiler, status...
    ... Primary Register, Secondary Register, ... Stack, and abit of storage does it. ... This version of Small-C is copyrighted as a revision to Ron Cain's ... Croatia) is "Calculator Compiler" by Senko Rasik. ...
    (alt.lang.asm)
  • Re: How function calls work
    ... >Offhand I don't remember exactly when dedicated hardware to support a ... >stack was added. ... that's basically isomorphic to "has Greg Comeau ... >gotten an order to port his compiler to one of these machines?" ...
    (comp.lang.cpp)
  • Re: back online again...
    ... really "acceptable") convention. ... stack machine, but the design ... target with my compiler (may need a different name for this though, ... most of this code is not likely to ever go to object files anyways... ...
    (alt.lang.asm)
  • Re: 2.6.25-git2: BUG: unable to handle kernel paging request at ffffffffffffffff
    ... since the compiler is totally free to spill and reload the local variable ... So forget about the prefetch, ... variable onto the stack, since it did that volatime memory access through ... the insane "store and immediately reload from ...
    (Linux-Kernel)