Kalo gak salah,

struct memang ada hole-nya ya?
Jadi walaupun seharusnya 14, dan kalo di-sizeof per struct member, pasti
juga kalo dijumlah hasilnya 14, 
gara-gara struct-hole ini, dia dibuletin jadi 16.

read it somewhere in K&R, I think.


Salam hangat.
-arief


On Wed, 2004-09-01 at 13:43, david wrote:
> mungkin ini merupakan bug dari gcc, versi yang gw
> gunakan 
> gcc version 3.3.4
> dengan parameter pada saat build adalah:
> Configured with: ../gcc-3.3.4/configure --prefix=/usr
> --enable-shared --enable-threads=posix
> --enable-__cxa_atexit --disable-checking --with-gnu-ld
> --verbose --target=i486-slackware-linux
> --host=i486-slackware-linux
> Thread model: posix
> 
> bugnya adalah pada operasi sizeof, kode ini
> menghasilkan hasil sizeof yang salah:
> typedef struct tagBITMAPFILEHEADER {
>         unsigned short bftype;
>         unsigned long  bfsize;
>         unsigned short bfreserved1;
>         unsigned short bfreserved2;
>         unsigned long  bfOffBits;
> } BITMAPFILEHEADER;
> 
> apabila structure di atas di cari ukurannya dengan
> menggunakan operasi sizeof, sizeof(BITMAPFILEHEADER)
> maka menghasilkan nilai 16, tetapi menurut perhitungan
> saya kalo ga salah nilai seharusnya adalah 14
> 
> ada di antara saudara yang mengalami hal yang sama,
> saya baru mencobanya pada satu komputer yang
> menggunakan slackware 10.0 dan juga dicobakan pada
> DEV-CPP versi 4.9.0 dengan hasil yang sama.
> 
> Belum ada penyelesaian untuk "bug" ini selain
> menghitung sizeof untuk masing-masing element dari
> structure di atas :(
> 
> 
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com


-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis.php

Kirim email ke