>>
What are you mean "environment" ?
Is it about C compiler ?
>>
Environment means , for a example PIC16FXXX environment does not provide floating point operations.
Here I mean compiler+library+hardware as the environment.It could refer to many things in computing world.
answer to the second question is yes and no. In C specification drafts, it's said that standard libraries are
a component of compiler itself. But in many compilers you could pass a switch and disable link with those
libraries. (example :- when we compile operating systems ). In GNU gcc we use ,`-nostdlib` option.
And please note that even these functions are part of standard library <stdlib.h> . Read this up too.
http://en.wikipedia.org/wiki/C_standard_library
Almost all hardware+OS+compilers support standard C library functions. But they may be limited as
stated in here.
http://www.mikroe.com/download/eng/docu ... ibrary.htm
MicroC have limited version of sprintf. And it may be very memory hungry because only around 60
byte SRAM is available for PICs. And standard "C" library is a platform independent library, but this may
not true in micro-controller world due to it's limitations as microc states. This will emit issues when
porting your PIC codebase to 8051 project. Or if you move microc to sdcc or some-other.
>> Please describe "%f" ?
You need to go through this.
http://www.cplusplus.com/reference/cstdio/printf/
And review examples and it's output.Better if you cold compile and see.
that's %f in standard C. but in here,
http://www.mikroe.com/download/eng/docu ... ibrary.htm it will refer to a insert a double.
And `sprintf` and `vprintf` are functions which you could input variable number of parameters.
If you can't understand that, refer :
http://linuxprograms.wordpress.com/2008 ... or-printf/
. It's caled elipse operator.
http://en.wikipedia.org/wiki/Ellipsis_% ... ramming%29
>> What is good Compiler for beginners?
Even there are limitations they are the limitations of the hardware of that microchip. It's not related to the
compiler. I don't see difference between compilers. But they have differences, that's why docs there
describe them. It's normal. You don't need to change your compiler for such a simple limitation. A compiler
that I worked with have no unicode support implemented on it's AROS OS. So I had to wrote all the Unicode
string copy, string length functions from scratch.This is a normal thing, don't bug your tools. Compilers are
your tools. A good crafts men does not blame his tools instead use them. Your compiler is oky. Even there were
limitations it provide that sprintf function for you right?