mas david,
saya juga dulu pernah mengalami hal serupa di windows, compiler ms vc
dan setelah saya cari informasi ada yang memberi tahu bahwa hal ini bukanlah error
dari kompiler,
tetapi akibat dari struct member alignmnet (di vc defaultnya adalah 8, dan ini bisa di
setting).
Demikian semoga membantu
IK
>
> 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 :(
>
--
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis.php