Re: C-Syntax fuer Bitfelder(war: Re: Sendmail + Spamassassin * Teerbox)

From: Peter Ross <Peter.Ross(at)alumni.tu-berlin.de>
Date: Tue, 30 Mar 2004 12:05:45 +1000 (EST)

Bernd Walter sagte:
> Doch doch - nur musst du das in einem struct anwenden:
> struct {
> int a :2;
> int b :2;
> } foo;
>
> foo.a = 1;
> foo.b = 0;
>
> Wobei du im Regelfall bei nur 2 bit eher unsigned int haben willst.

Danke.Ich habe es gleich weitergeleitet, am Telephon meinte sie, das
haette gestern nicht geklappt, vielleicht mag das ihr Visual-C nicht. Ich
berichte bald;-)

Ich habe mich als "Codeschwein" bei SGI beworben (da gab es vor kurzem
Kontrakts hier in Melbourne, um ein Produkt "GPL-konform" zu machen
("verdaechtigen" Unix-Code auswechseln, bevor es freizugeben ist)), und
habe genau so ein Stueck Code gesehen.

Die Frage war: Wieviel Speicherplatz belegt das? Ich habe gesagt, dass es
sich um ein Bitfeld handelt, aber ich nicht weiss, ob es
Compiler-abhaengig ist, ob dafuer nur ein char oder, weil die Member int
sind, auch ein int benutzt wird, oder ob das gar nicht definiert ist und
vielleicht auch vom Compiler entsprechend Wordalignments "nach Gutduenken"
abgelegt wird.

Kennst Du oder jemand anders die korrekte Antwort?

Gruss
Peter

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 30 Mar 2004 - 04:06:19 CEST

search this site