Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Ike Naar <ike@faeroes.freeshell.org> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: The C Containers Library |
| Date | 2012-08-04 19:17 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <slrn3vfsk1qtag.pae.ike@faeroes.freeshell.org> (permalink) |
| References | <4FF9E523.6000006@spamsink.net> <b230eaf2-b8da-4f8f-a32d-dfc6539a931d@googlegroups.com> <jvjjee$9pg$1@speranza.aioe.org> |
On 2012-08-04, jacob navia <jacob@spamsink.net> wrote:
> Le 04/08/12 13:52, SG a ?crit :
>> Am Sonntag, 8. Juli 2012 21:53:07 UTC+2 schrieb jacob navia:
>>> [...]
>>> "The C Containers Library"
>>> [...]
>>
>> I just skimmed the PDF and noticed this on page 42:
>>
>> int function(void)
>> {
>> char listSpace[iList.Sizeof(NULL)];
>> iList.Init(listSpace);
>> }
>>
>> I think this qualifies as an alignment issue.
>>
>
> Yes. I have added a paragraph after that code:
>
> Problems with the above construct could arise because of the alignment
> requirements of the platform
> where the library is running. Instead of a char as the type
> of the buffer, it is better to use a slightly more complicated
> expression to ensure correct alignment. For instance:
>
> size_t s = (sizeof(void *)+iList.Sizeof(NULL))/sizeof(void *);
> void *listSpace[s];
It looks like the formula
(sizeof(void *)+iList.Sizeof(NULL)) / sizeof(void *);
wastes sizeof(void*) bytes if iList.Sizeof(NULL) is a multiple of
sizeof(void*). I think the intention of the formula is to compute
iList.Sizeof(NULL) rounded upward to the next multiple of sizeof(void*),
and if that is the case,
(sizeof(void*) - 1 + iList.Sizeof(NULL)) / sizeof(void*);
would suffice.
A slightly more serious issue is that this only fixes the alignment
problem if it is guaranteed that the alignment requirements for a
header structure are not stricter than the alignment requirements
of a void*.
If the type of the header structure were known to the program,
there would be a simpler solution:
/* assuming the type of header structure is HEADER_STRUCTURE_TYPE */
HEADER_STRUCTURE_TYPE headerspace;
iList.Init(headerspace);
which would have the additional advantage that it doesn't use a
variable length array, so it would work with a pre-C99 compiler.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-08 21:53 +0200
Re: The C Containers Library aftnix <aftnix@gmail.com> - 2012-07-26 13:13 -0700
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-26 22:31 +0200
Re: The C Containers Library lawrence.jones@siemens.com - 2012-07-28 17:46 -0400
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-29 02:05 +0200
Re: The C Containers Library lawrence.jones@siemens.com - 2012-07-30 14:48 -0400
Re: The C Containers Library Phil Bradby <nospam@nospam.com> - 2012-08-01 21:00 +0000
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-08-01 23:18 +0200
Re: The C Containers Library Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-08-02 00:48 -0700
Re: The C Containers Library James Kuyper <jameskuyper@verizon.net> - 2012-08-02 07:00 -0400
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-08-02 13:27 +0200
Re: The C Containers Library Quentin Pope <qp19433@hotmail.NOSPAM.com> - 2012-08-02 20:27 +0000
Re: The C Containers Library Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-08-02 05:13 -0700
Re: The C Containers Library Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-08-02 14:26 -0700
Re: The C Containers Library Kenneth Brody <kenbrody@spamcop.net> - 2012-08-03 10:47 -0400
Re: The C Containers Library Noob <root@localhost> - 2012-07-29 09:58 +0200
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-07-30 00:31 -0600
Re: The C Containers Library Noob <root@localhost> - 2012-07-30 09:45 +0200
Re: The C Containers Library Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-30 02:10 -0700
Re: The C Containers Library lawrence.jones@siemens.com - 2012-07-30 14:54 -0400
Re: The C Containers Library James Kuyper <jameskuyper@verizon.net> - 2012-07-26 16:52 -0400
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-26 22:56 +0200
Re: The C Containers Library pacman@kosh.dhis.org (Alan Curry) - 2012-07-26 22:29 +0000
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-27 01:50 +0200
Re: The C Containers Library pacman@kosh.dhis.org (Alan Curry) - 2012-07-27 22:28 +0000
Re: The C Containers Library Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-29 06:31 -0700
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-07-30 00:26 -0600
Re: The C Containers Library Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-30 02:21 -0700
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-08-02 02:27 -0600
Re: The C Containers Library Rui Maciel <rui.maciel@gmail.com> - 2012-08-02 16:43 +0100
Re: The C Containers Library Ansel <lateknightdev@gmail.com> - 2012-08-02 17:07 -0700
Re: The C Containers Library Rui Maciel <rui.maciel@gmail.com> - 2012-08-03 22:21 +0100
Re: The C Containers Library Ansel <lateknightdev@gmail.com> - 2012-08-03 15:43 -0700
Re: The C Containers Library Anders Wegge Keller <wegge@wegge.dk> - 2012-08-04 06:32 +0200
Re: The C Containers Library Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-08-04 01:52 -0700
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-08-04 22:36 -0600
Re: The C Containers Library Anders Wegge Keller <wegge@wegge.dk> - 2012-08-05 08:36 +0200
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-08-05 01:28 -0600
Re: The C Containers Library Anders Wegge Keller <wegge@wegge.dk> - 2012-08-05 11:31 +0200
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-08-05 03:48 -0600
Re: The C Containers Library Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-08-04 03:41 -0700
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-27 01:55 +0200
Re: The C Containers Library wkaras@yahoo.com - 2012-07-26 13:45 -0700
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-26 22:53 +0200
Re: The C Containers Library wkaras@yahoo.com - 2012-07-26 18:46 -0700
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-27 10:59 +0200
Re: The C Containers Library gwowen <gwowen@gmail.com> - 2012-07-27 03:39 -0700
Re: The C Containers Library wkaras@yahoo.com - 2012-07-27 11:34 -0700
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-27 11:04 +0200
Re: The C Containers Library W Karas <wkaras@yahoo.com> - 2012-07-27 13:10 -0700
Re: The C Containers Library wkaras@yahoo.com - 2012-07-26 18:54 -0700
Re: The C Containers Library James Kuyper <jameskuyper@verizon.net> - 2012-07-27 10:25 -0400
Re: The C Containers Library wkaras@yahoo.com - 2012-07-27 11:28 -0700
Re: The C Containers Library James Kuyper <jameskuyper@verizon.net> - 2012-07-27 15:17 -0400
Re: The C Containers Library wkaras@yahoo.com - 2012-07-27 13:00 -0700
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-29 02:02 +0200
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-07-28 22:08 -0600
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-29 08:46 +0200
Re: The C Containers Library pacman@kosh.dhis.org (Alan Curry) - 2012-07-29 07:43 +0000
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-29 09:59 +0200
Re: The C Containers Library Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-29 06:43 -0700
Re: The C Containers Library pacman@kosh.dhis.org (Alan Curry) - 2012-07-29 17:27 +0000
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-29 20:56 +0200
Re: The C Containers Library pacman@kosh.dhis.org (Alan Curry) - 2012-07-30 00:07 +0000
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-07-30 00:07 -0600
Re: The C Containers Library Keith Thompson <kst-u@mib.org> - 2012-07-29 11:58 -0700
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-29 22:06 +0200
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-29 22:23 +0200
Re: The C Containers Library Melzzzzz <mel@zzzzz.invalid> - 2012-07-30 00:13 +0200
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-07-30 00:13 -0600
Re: The C Containers Library Keith Thompson <kst-u@mib.org> - 2012-07-30 01:10 -0700
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-07-30 02:57 -0600
Re: The C Containers Library Jorgen Grahn <grahn+nntp@snipabacken.se> - 2012-07-30 15:47 +0000
Re: The C Containers Library Keith Thompson <kst-u@mib.org> - 2012-07-30 13:01 -0700
Re: The C Containers Library Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-30 04:53 -0700
Re: The C Containers Library Keith Thompson <kst-u@mib.org> - 2012-07-30 13:04 -0700
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-08-02 02:11 -0600
Re: The C Containers Library James Kuyper <jameskuyper@verizon.net> - 2012-08-02 06:52 -0400
Re: The C Containers Library James Kuyper <jameskuyper@verizon.net> - 2012-08-02 06:46 -0400
Re: The C Containers Library Rui Maciel <rui.maciel@gmail.com> - 2012-07-30 00:41 +0100
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-30 09:45 +0200
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-07-29 23:05 -0600
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-07-29 22:52 -0600
Re: The C Containers Library Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-07-30 04:56 -0700
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-08-02 02:07 -0600
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-30 17:49 +0200
Re: The C Containers Library Rui Maciel <rui.maciel@gmail.com> - 2012-07-28 09:17 +0100
Re: The C Containers Library W Karas <wkaras@yahoo.com> - 2012-07-28 15:17 -0700
Re: The C Containers Library Rui Maciel <rui.maciel@gmail.com> - 2012-07-29 11:10 +0100
Re: The C Containers Library Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-28 06:51 -0700
Re: The C Containers Library Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-07-28 17:23 +0100
Re: The C Containers Library Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-07-30 13:40 -0700
Re: The C Containers Library Melzzzzz <mel@zzzzz.invalid> - 2012-07-31 00:24 +0200
Re: The C Containers Library Melzzzzz <mel@zzzzz.invalid> - 2012-07-31 00:05 +0200
Re: The C Containers Library Rui Maciel <rui.maciel@gmail.com> - 2012-07-31 00:53 +0100
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-07-31 09:24 +0200
Re: The C Containers Library Malcolm McLean <malcolm.mclean5@btinternet.com> - 2012-08-02 14:45 -0700
Re: The C Containers Library Rui Maciel <rui.maciel@gmail.com> - 2012-08-03 22:31 +0100
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-08-04 00:01 +0200
Re: The C Containers Library Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-08-03 23:45 +0100
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-08-04 22:47 -0600
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-08-04 22:41 -0600
Re: The C Containers Library Rui Maciel <rui.maciel@gmail.com> - 2012-08-07 10:24 +0100
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-08-07 15:30 +0200
Re: The C Containers Library Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-08-07 15:35 +0100
Re: The C Containers Library Tim Rentsch <txr@alumni.caltech.edu> - 2012-09-07 12:40 -0700
Re: The C Containers Library Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-09-08 00:07 +0100
Re: The C Containers Library Tim Rentsch <txr@alumni.caltech.edu> - 2012-09-07 17:31 -0700
Re: The C Containers Library Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-09-08 03:14 +0100
Re: The C Containers Library Tim Rentsch <txr@alumni.caltech.edu> - 2012-09-08 05:22 -0700
Re: The C Containers Library Tim Rentsch <txr@alumni.caltech.edu> - 2012-09-07 12:36 -0700
Re: The C Containers Library Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-08-08 02:26 -0700
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-08-08 17:25 +0200
Re: The C Containers Library 88888 Dihedral <dihedral88888@googlemail.com> - 2012-08-03 16:04 -0700
Re: The C Containers Library SG <s.gesemann@gmail.com> - 2012-08-04 04:52 -0700
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-08-04 18:42 +0200
Re: The C Containers Library Ike Naar <ike@faeroes.freeshell.org> - 2012-08-04 19:17 +0000
Re: The C Containers Library Ike Naar <ike@faeroes.freeshell.org> - 2012-08-04 19:22 +0000
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-08-04 22:14 +0200
Re: The C Containers Library jacob navia <jacob@spamsink.net> - 2012-08-05 00:15 +0200
Re: The C Containers Library Ike Naar <ike@faeroes.freeshell.org> - 2012-08-04 23:13 +0000
Re: The C Containers Library "Ansel" <tinker454@trytospammenowloser.com> - 2012-08-04 22:53 -0600
csiph-web