Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



struktury v C

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: struktury v C

Autor: HellMaster

19:08:25 01.11.2011

Diky obou dvou za odpovedi, mrknu na to. :-)

Hell

Citovat příspěvek

 

Re: struktury v C

Autor: Ady2

16:28:39 01.11.2011

Něco je třeba zde:
[url]http://www.cplusplus.com/reference/clibrary/cstddef/offsetof/[/url]

Citovat příspěvek

 

Re: struktury v C

Autor: roman.hocke

15:36:15 01.11.2011

Ahoj, pokud ti nedělá problém angličtina, tak se o zarovnávání paměti dočteš třeba tady: [url]http://en.wikipedia.org/wiki/Data_structure_alignment[/url]

Citovat příspěvek

 

Re: struktury v C

Autor: HellMaster

15:25:43 01.11.2011

Diky moc, uz to hazi 14 Byte. Umel bys prosim vysvetlit trochu tuto problematiku? Tusim, ze to je nejaky prikaz pro preprocesor, ale jak jsem rekl, jsem v tom novy. Staci klidne hodit nejaky osvedceny odkaz, kde to je uz vysvetlene. Dekuju :-)

Btw. kdyz toto neudelam a prekladac si to sam rozsiri, da se zjistit, ktera promenna v te strukture je rozsirena?

Citovat příspěvek

 

Re: struktury v C

Autor: Ady2

15:14:09 01.11.2011

Nebo v GNU C je něco jako

__attribute__ ((packed))

A.

Citovat příspěvek

 

Re: struktury v C

Autor: Ady2

15:11:26 01.11.2011

Ahoj,

vypnout zarovnávání (alignment) . Každý překladač to má jinak,
obvykle nějaká pragma, třeba můj BCB:



#include

pragma pack(push, 1) // zarovnávání na 1 byte
struct bmp {
unsigned char bfType[2];
unsigned bfSize;
unsigned short bfReserved1;
unsigned short bfReserved2;
unsigned bfOffBits;
} bfh;
#pragma pack(pop) // obnovit původní

Ady

Citovat příspěvek

 

struktury v C

Autor: HellMaster

14:03:33 01.11.2011

Ahoj, nedavno jsem zacal s programovanim v C. Zkousel jsem nacist informace o bmp obrazku do struktury, kterou jsem si vytvoril a narazil jsem u toho na velikost struktury. Ackoli jednotlive prvky struktury v souctu by mely mit velikost 14 Byte, po zjisteni velikosti pres sizeof() je velikost 16 Byte, coz pri nacitani dat do struktury dela potize. Umel by mi nekdo rict, v cem je problem a pripadne da-li se to nejak osetrit, aby struktura mela opravdu velikost, jakou pozaduju?

/* zkouska struktury */

#include
struct bmp {
unsigned char bfType[2];
unsigned bfSize;
unsigned short bfReserved1;
unsigned short bfReserved2;
unsigned bfOffBits;
} bfh;

int main(void)
{
printf("%d", sizeof bfh);
return 0;
}

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: