David Brown <david.br...@hesbynett.no> wrote:

> and
>       memset((A_String + 16), 0, 1);
> 
> has the same effect as :
> 
>       A_String[16] = 0x00;
>       delay_about_30_processor_cycles();
>       waste_about_80_bytes_of_code_space();

Only if you're using -ffreestanding (e.g., in order to get GCC to
accept a return type "void" for main()).

If you're using -fhosted (the default), and optimize, it will
simply result in

        A_String[16] = 0;

because the compiler is allowed to use internal library knowledge
in hosted mode.

(The compiler would even be allowed to optimize the sprintf() case,
but by now, it doesn't do that.)
-- 
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)


_______________________________________________
AVR-GCC-list mailing list
AVR-GCC-list@nongnu.org
http://lists.nongnu.org/mailman/listinfo/avr-gcc-list

Reply via email to