Re: segfault su Debian & su centos 5 no
- To: emmanuel segura <emi2fast@gmail.com>
- Cc: bodrato@mail.dm.unipi.it, ml debian <debian-italian@lists.debian.org>
- Subject: Re: segfault su Debian & su centos 5 no
- From: Federico Di Gregorio <fog@dndg.it>
- Date: Tue, 01 Jan 2013 21:38:12 +0100
- Message-id: <50E34934.7050607@dndg.it>
- In-reply-to: <CAE7pJ3AhdYhUpsfZK=KDUT35LXvCersYNvm0RgTFXhYyDx9KzA@mail.gmail.com>
- References: <CAE7pJ3DdPFfTsZtg1-M01B_gBX1JFDLmf_fiivcg9LcN8Xrsgw@mail.gmail.com> <36307.151.32.166.21.1356948957.squirrel@mail.dm.unipi.it> <CAE7pJ3D2s7kZsaZh5Fse_2Z+Vz7b7hVp=cayxZwpCbAnB6RnsA@mail.gmail.com> <50E34244.6030907@dndg.it> <CAE7pJ3AhdYhUpsfZK=KDUT35LXvCersYNvm0RgTFXhYyDx9KzA@mail.gmail.com>
On 01/01/2013 21:12, emmanuel segura wrote:
> Questa tua spiegazione mi sembra logica e chiara e mi aiuto a capire il
> perche :-)
Anche questa variazione sul tuo programma è istruttiva secondo me:
#include <stdio.h>
typedef struct Name {
char *name;
int id;
} name_t;
name_t pa[];
int main()
{
int i,SIZE = 255;
int o = (int)pa % 4096;
int k = (4096 - o) / sizeof(name_t);
printf("Faro' segfault all'iterazione n.%d\n", k);
for(i = 0; i <= SIZE; i++)
{
pa[i].name = "Pippo";
pa[i].id = i;
printf("\t%s - %d\n",pa[i].name,pa[i].id);
}
}
--
Federico Di Gregorio federico.digregorio@dndg.it
Studio Associato Di Nunzio e Di Gregorio http://dndg.it
I filosofi son come i sociologi: il mondo non lo capiscono. -- A.R.M.
Reply to: