delorie.com/archives/browse.cgi | search |
From: | Hans-Bernhard Broeker <broeker AT physik DOT rwth-aachen DOT de> |
Newsgroups: | alt.comp.lang.learn.c-c++,comp.lang.c++,comp.os.msdos.djgpp |
Subject: | Re: Holes in structure |
Followup-To: | alt.comp.lang.learn.c-c++ |
Date: | 6 Nov 2001 13:20:13 GMT |
Organization: | Aachen University of Technology (RWTH) |
Lines: | 43 |
Message-ID: | <9s8o2d$nl6$1@nets3.rz.RWTH-Aachen.DE> |
References: | <3BE7D280 DOT C1732E58 AT bigfoot DOT com> |
NNTP-Posting-Host: | acp3bf.physik.rwth-aachen.de |
X-Trace: | nets3.rz.RWTH-Aachen.DE 1005052813 24230 137.226.32.75 (6 Nov 2001 13:20:13 GMT) |
X-Complaints-To: | abuse AT rwth-aachen DOT de |
NNTP-Posting-Date: | 6 Nov 2001 13:20:13 GMT |
Originator: | broeker@ |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
[Crossposted without a proper F'up2 --- I restricted it to one group as it should be] In comp.os.msdos.djgpp Alex Vinokur <alexvn AT bigfoot DOT com> wrote: > Here is some program that detects holes in structure. A rather useless exercise, that is. You don't need to know or detect this kind of information. If you think you have to, you should re-think the arguments that brought you to this conlusion. At least one of them is flawed. > Its output is not perfectly clear to me. [...] > Questions. > 1. struct type0 (empty) : > Why is 'sizeof' = 1? Why not? An empty struct is a completely useless thing --- what on earth would you care about its size for? > 2. struct type1 : > Why is not 'Diff' (between 'sizeof' and 'All items sum') > equal 'All holes sum' ? The thing you're investigating here is not called "hole"s, that's why. It's called "padding", and that included possible padding at the *end* of a structure, after the last element. That's exactcly where the remaining three bytes of "holes" are, in this particular case. > 3. struct type0 and type1 : > Why is not ('Diff' - 'All holes sum') the same value for > type0 and type1. > Note. type0 : 'Diff' - 'All holes sum' = 1 - 0 = 1 > type1 : 'Diff' - 'All holes sum' = 9 - 6 = 3 Why should they be the same? -- Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de) Even if all the snow were burnt, ashes would remain.
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |