From: Erik Max Francis Newsgroups: comp.os.msdos.djgpp Subject: Re: Help: My structure members aren't getting the right offsets! Date: Mon, 24 Feb 1997 00:19:22 -0800 Organization: Alcyone Systems Lines: 22 Message-ID: <33114F0A.2E800353@alcyone.com> References: <3310E089 DOT 78F9 AT osha DOT igs DOT net> NNTP-Posting-Host: newton.alcyone.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Delong wrote: > I even made code that added up the 'sizeof' each element and got 512 > bytes, please let me know if you know whats goind wrong here (since all > data after VBEVersion_Major is getting screwed, but before that it > works). The problem is that you're assuming that all of the structure members are packed perfectly, and you can't make this assumption with ANSI C (or draft standard C++). The compiler may add padding as it sees fit, to optimize (or even allow!) more efficient references to the members. What you're looking for is the packed attribute; check the info pages. Note that this is, by its very nature, nonstandard. -- Erik Max Francis, &tSftDotIotE / email: max AT alcyone DOT com Alcyone Systems / web: http://www.alcyone.com/max/ San Jose, California, United States / icbm: 37 20 07 N 121 53 38 W \ "I am become death, / destroyer of worlds." / J. Robert Oppenheimer (quoting legend)