Re: segfault su Debian & su centos 5 no
Il 30/12/12 20:04, Elio Marvin ha scritto:
In data domenica 30 dicembre 2012 19:45:38, emmanuel segura ha scritto:
Ciao a tutti
Sto giocando con un piccolo e stupido programma in C che posto qua sotto,
sulla mia debian 6.0.6 va in segfault su una centos 5 no, la cosa stranna
che va in segfault quando il programma arriva a 108 nel ciclo for
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#include <stdio.h>
typedef struct Name {
char *name;
int id;
} name_t;
name_t pa[];
int main()
{
int i,SIZE = 255;
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);
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bisognerebbe indagare sulla gestione della memoria: eventuali differenze fra i
due sistemi...
concordo, ma non o resistito:
$ cat /etc/debian_version
6.0.6
$ gcc --version
gcc (Debian 4.4.5-8) 4.4.5
$ uname -a
Linux web 2.6.32-5-amd64 #1 SMP Sun Sep 23 10:07:46 UTC 2012 x86_64
GNU/Linux
$ gcc x.c
x.c: In function ‘main’:
x.c:15: warning: incompatible implicit declaration of built-in function
‘printf’
x.c: At top level:
x.c:6: warning: array ‘pa’ assumed to have one element
$ ./a.out
Pippo - 0
[TAGLIO un pezzo]
Pippo - 108
Segmentation fault
*altro sistema*
$ cat /etc/debian_version
5.0.9
$ gcc --version
gcc (Debian 4.3.2-1.1) 4.3.2
$ uname -a
Linux elrond 2.6.26-2-686 #1 SMP Wed Sep 21 04:35:47 UTC 2011 i686 GNU/Linux
$ gcc x.c
x.c: In function ‘main’:
x.c:15: warning: incompatible implicit declaration of built-in function
‘printf’
x.c: At top level:
x.c:6: warning: array ‘pa’ assumed to have one element
$ ./a.out
Pippo - 0
[TAGLIO un pezzo]
Pippo - 255
nessun errore nel secondo caso
ciao
Edoardo
Reply to: