PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Komplette ANSI-C-Bücher?



nobody0
10-08-2003, 00:48
Welche Bücher, die den kompletten ANSI-C-Standard enthalten, gibt es eigentlich zu kaufen? :confused:
Und in welchen ist deutlich getrennt zwischen dem Kern und den Erweiterungen wie z. B. time und fopen (die es in den meisten Embeded-Systemen nicht gibt)? :confused:

wraith
10-08-2003, 09:46
Original geschrieben von nobody0
Welche Bücher, die den kompletten ANSI-C-Standard enthalten, gibt es eigentlich zu kaufen? :confused:

K & R 2
http://www.amazon.de/exec/obidos/ASIN/3446154973/qid=1060500926/sr=2-1/ref=sr_aps_prod_1_1/302-3098887-5177626
Es ist aber nur C89/C90 nicht C99.
Wenn du wirklich nur den Standard brauchst,dann gibt es hier umsonst den Final Draft für C99
http://anubis.dkuug.dk/jtc1/sc22/wg14/www/docs/n869/
Ansonsten der richtige Standard kostet 18 Dollar.



Und in welchen ist deutlich getrennt zwischen dem Kern und den Erweiterungen wie z. B. time und fopen (die es in den meisten Embeded-Systemen nicht gibt)? :confused:
Wahrscheinlich meinst du den Unterschied zw. Freestanding und Hosted,denn alles andere ist dem Standard ziemlich egal,was für 'Erweiterungen' Eingebette Systeme bieten (das sollte man besser im zugehörigen Manual nachlesen).

Conformance


The two forms of conforming implementation are hosted and freestanding. A conforming
hosted implementation shall accept any strictly conforming program. A conforming
freestanding implementation shall accept any strictly conforming program that does not
use complex types and in which the use of the features specified in the library clause
is confined to the contents of the standard headers <float.h>,
<iso646.h>, <limits.h>, <stdarg.h>, <stdbool.h>, <stddef.h>, and
<stdint.h>. A conforming implementation may have extensions (including additional
library functions), provided they do not alter the behavior of any strictly conforming
program.

nobody0
10-08-2003, 17:09
Original geschrieben von wraith

Ansonsten der richtige Standard kostet 18 Dollar.


Aha, gibt´s dazu sowas wie eine ISBN-Nummer oder eine genauere Angabe? :confused:



Original geschrieben von wraith
quote:
The two forms of conforming implementation are hosted and freestanding. A conforming
hosted implementation shall accept any strictly conforming program. A conforming
freestanding implementation shall accept any strictly conforming program that does not
use complex types and in which the use of the features specified in the library clause
is confined to the contents of the standard headers <float.h>,
<iso646.h>, <limits.h>, <stdarg.h>, <stdbool.h>, <stddef.h>, and
<stdint.h>. A conforming implementation may have extensions (including additional
library functions), provided they do not alter the behavior of any strictly conforming
program.


Aha, da waren wohl Juristen oder Teilnehmer vom IOCCC am Werk; komplizierter kann man ja wirklich nicht formulieren!
Also bedeutet hosted den Kern und freestanding die Erweiterungen, oder?

wraith
10-08-2003, 17:58
Original geschrieben von nobody0
Aha, gibt´s dazu sowas wie eine ISBN-Nummer oder eine genauere Angabe? :confused:

Das ist ein PDF,was man direkt von der ISO (iso.org) kaufen muß,die gedruckte Fassung kostet einiges mehr.
Aber eigentlich ist der Final Draft ausreichend,die Unterschiede sind minimal.



Aha, da waren wohl Juristen oder Teilnehmer vom IOCCC am Werk; komplizierter kann man ja wirklich nicht formulieren!
Also bedeutet hosted den Kern und freestanding die Erweiterungen, oder?
Vielleicht eine weniger bürokratische Erklärung


The terms "freestanding implementation" and "hosted implementation"
describe a minimum level of functionality that the implementation
provides. There are fewer requirements that an implementation has to meet
before it can call itself a "conforming freestanding implementation".
In simple terms anything that implements the correct behaviouir for
the basic preprocessing and syntax of C, the headers like <stddef.h>
and <limits.h> that don't define any functions, and some way of starting
the program can be considered a conforming freestinding implementation.
That are other issues but that is the important thing.

Freestanding implementations are typically used for embedded systems,
although the environment the OS code itself is built in could well
be freestanding in nature. Also environments that don't use the
normal C model for startup and I/O aren't hosted implementations but
might qualify as freestanding implementations.

zb. läuft der Linux Kernel in einem Freestanding Enviroment.