| delorie.com/archives/browse.cgi | search |
| Xref: | news-dnh.mv.net comp.os.msdos.djgpp:4173 |
| Path: | news-dnh.mv.net!mv!news.sprintlink.net!usenet.kornet.nm.kr!news.kreonet.re.kr!overload.lbl.gov!lll-winken.llnl.gov!uwm.edu!vixen.cso.uiuc.edu!howland.reston.ans.net!EU.net!Portugal.EU.net!news.rccn.net!newsfeed.sunet.se!news01.sunet.se!sunic!news99.sunet.se!news.uni-c.dk!diku.dk!terra |
| From: | terra AT diku DOT dk (Morten Welinder) |
| Newsgroups: | comp.os.msdos.djgpp |
| Subject: | Re: Structure sizing problem |
| Date: | 7 Jan 1996 14:35:36 GMT |
| Organization: | Department of Computer Science, U of Copenhagen |
| Lines: | 29 |
| Sender: | terra AT tyr DOT diku DOT dk |
| Message-ID: | <4colno$dc0@odin.diku.dk> |
| References: | <4cofrl$7d3 AT news DOT mdata DOT fi> |
| NNTP-Posting-Host: | odin.diku.dk |
| To: | djgpp AT delorie DOT com |
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
@megabaud.fi writes:
>struct main_directory_entry {
> char name[7];
> unsigned long offset;
> unsigned long size;
>};
>Borland C++ returns sizeof(main_directory_entry)=15 and
>djgpp returns 16, which causes little problems with
>file-reading routines...
>However when I tested sizeof(main_directory_entry.name) it returned
>7 and unsigned longs returned 4. 7+4+4=15 isn't it?
Certainly, but 7+1+4+4 is 16. gcc aligns longs for faster access.
>Have I missed some piece of information or is this a bug in compiler?
The memory layout is implementation dependent. You can get the
packed behaviour by adding the "packed" attribute. See the
source file src/debug/fsdb/fullscr.c for an example of how to
do it.
Morten
PS: fix your email return address.
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |