Article View: es.comp.os.linux.programacion
Article #17805Re: Tamaño de struct
From: J.A. Gutierrez
Date: Tue, 09 Nov 1999 00:00
Date: Tue, 09 Nov 1999 00:00
32 lines
2044 bytes
2044 bytes
Jose I. Ardanza <jiardara@clientes.euskaltel.es> wrote:
: Como se puede hacer, que el compilador ajuste el tama�o de las struct a la
: medida exacta que necesitamos. ???
pues en algunos no se puede, en otros, con directivas del
preprocesador u opciones del compilador, en todo caso, no
hay solucion generica. A modo de ejemplo, en casi todos
los compiladores que pruebes
struct { char c; short int i; } block;
printf("\nsizeof(char+short)=%d\n", (int)sizeof(block));
printf("sizeof(char)+sizeof(short)=%d\n\n",
(int)sizeof(char)+(int)sizeof(short));
obtendras algo como
sizeof(char+short)=4
sizeof(char)+sizeof(short)=3
Si lo que pretendes es escribir ficheros binarios portables
tendras que o bien tener en cuenta el alineamiento y crear
las estructuras con campos de relleno (y confiar que los alienamientos
sean similares en todas las maquinas que vas a usar), o bien
leer los datos de uno en uno, en formato propio.
--
PGP and other useless info at \ Oh, show us the way
http://www.cps.unizar.es/~spd/ \ to the next whisky bar
finger://daphne.cps.unizar.es/spd \ Weill/Bretch
es doloroso ser sabio y descubrir la sopa de ajo (Pla)
Technical Details
Message-ID:
<809amc$i6k$1@posta2.unizar.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<808r1a$1v42@eui1nw.euskaltel.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,3dfb8d4ced338fde
X-Google-Attributes: gidf86c8,public
From: "J.A. Gutierrez" <spd@daphne.cps.unizar.es>
Subject: Re: Tamaño de struct
Date: 1999/11/09
Message-ID: <809amc$i6k$1@posta2.unizar.es>
X-Deja-AN: 546454187
Content-Transfer-Encoding: 8bit
References: <808r1a$1v42@eui1nw.euskaltel.es>
Content-Type: text/plain; charset=ISO-8859-1
X-Complaints-To: usenet@news.unizar.es
X-Trace: posta2.unizar.es 942157324 18644 155.210.152.20 (9 Nov 1999 14:22:04 GMT)
Organization: Rank
Mime-Version: 1.0
User-Agent: tin/pre-1.4-19990413 ("Endemoniada") (UNIX) (IRIX/6.2 (IP22))
NNTP-Posting-Date: 9 Nov 1999 14:22:04 GMT
Newsgroups: es.comp.os.linux.programacion