delorie.com/archives/browse.cgi | search |
From: | zacharyshort AT hotmail DOT com (ZMAN) |
Newsgroups: | comp.os.msdos.djgpp,comp.lang.c++,comp.lang.c |
Subject: | DJGPP reserves wrong int size |
Date: | 24 Jun 2001 11:53:48 -0700 |
Organization: | http://groups.google.com/ |
Lines: | 37 |
Message-ID: | <9dde68b7.0106241053.2a385311@posting.google.com> |
NNTP-Posting-Host: | 216.227.178.111 |
X-Trace: | posting.google.com 993408828 30556 127.0.0.1 (24 Jun 2001 18:53:48 GMT) |
X-Complaints-To: | groups-support AT google DOT com |
NNTP-Posting-Date: | 24 Jun 2001 18:53:48 GMT |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
Please consider the following code: int main () { int i; i = 0x12345678; } -Yes I am aware there is no return statement even if I do have it in there it still messes up. When I compile this code using: gcc -c test.c ld -o test -Ttext 0x0 -e main test.o objcopy -R .note -R .comment -S -O binary test test.bin and disassemble it I get the following: 00000000 55 push ebp 00000001 89E5 mov ebp,esp 00000003 83EC04 sub esp,byte +0x18 00000006 C745FC78563412 mov dword [ebp-0x4],0x12345678 0000000D C9 leave 0000000E C3 ret The third line reserves 18 bytes. And it should reserve 4 bytes because thats the size of an int right? If you declare a char it still reserves 18 bytes. Could someone tell me what's going on? I am loosing my mind! Line 4 is correct though. I am compiling this on Windows 98 and ME boxes and still get the same results. The gcc version number is 2.953 binutills is version 2.11 thanks for any help
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |