Liste des Groupes | Revenir à cl c |
David Brown <david.brown@hesbynett.no> writes:Yes - I mentioned that in one of my posts. It is quite common for compilers for embedded systems to be missing a few standard library features (such as support for locales or wide characters), to have limited features (such as printf / scanf implementations without floating point, to reduce the code size), and to have somewhat odd system-specific implementations of things like file and stream IO functions.
[...]There are basically two classes of small embedded devices - those that[...]
are usually programmed with gcc (and sometimes clang, and occasionally
vastly expensive commercial tools), and those that are programmed
using non-standard, limited and often expensive sort-of-C compilers.
For people using gcc, clang, Green Hills, Code Warrior, or other
quality tools on a 16-bit or 32-bit microcontroller, C99 is not a
problem. C23 is not a problem for the most popular toolchain for the
most popular microcontroller core.
It's also worth mentioning that the standard specifies two kinds of
implementations, "hosted" and "freestanding".
A hosted implementation must provide the entire standard library (except
for parts that are explicitly optional). The program entry point is
"main". Larger embedded systems (for example, Linux-based systems)
often have "hosted" implementations.
In a freestanding implementation, most of the standard library need not
be provided. Library facilities are implementation-defined, as is the
program entry point. Freestanding implementations generally target
systems with no operating system. There might not be a malloc()
function.
Les messages affichés proviennent d'usenet.