Liste des Groupes | Revenir à cl c |
Michael S <already5chosen@yahoo.com> writes:
On Tue, 08 Apr 2025 23:12:13 -0700
Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote:
Tim Rentsch <tr.17687@z991.linuxsc.com> writes:>
James Kuyper <jameskuyper@alumni.caltech.edu> writes:>
bart <bc@freeuk.com> writes:>
On 08/04/2025 22:46, Keith Thompson wrote:
bart <bc@freeuk.com> writes:
...>> Apparently the author of the chart chose to include types
...>> that are
>defined by the core language, not by the library.>
So here you're finally admitteding they are a different rank.
The core language and the library are equal in rank, both being
different parts of any implementation of C.
This statement isn't exactly right. Some parts of the standard
library are available only in hosted implementations, and not in
freestanding implementations.
True. Also, freestanding implementations must support <stddef.h>
and <stdint.h>, among several other headers.
May be in some formal sense headers and library routines that are
mandatory for freestanding implementations belong to the same rank
as core language. But in practice there exists an obvious
difference. In the first case, name clashes are avoidable
(sometimes with toothless threat that they can happen in the
future) and in the second case they are unavoidable.
It's hard for me to make sense sense of this comment. The only
library routines that are required in standard C are those
documented as part of a section for one of the standard headers.
For freestanding implementations in particular, there are only
two names (va_copy and va_end) that might correspond to library
functions, and if they do then the names are reserved for that
purpose. Do you mean to suggest that user code defining either
va_copy or va_end as a symbol with external linkage is
unavoidable? Any user code that does so could be summarily
rejected by the implementation. It's hard to imagine anyone
writing user code wanting to define either of those names as a
symbol with external linkage.
Les messages affichés proviennent d'usenet.