[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]gcc versión 3.2 20020903 (Red Hat Linux 8.0 3.2-7) --- "Jorge L. Rivas" <jorge_lopez en xiniom com> wrote:gcc versión 3.2 20020903 (Red Hat Linux 8.0 3.2-7) > No creo que tenga que ver el X pues a mi si me marca > el segmentation > fault...en dos maquinas. Aunque asombrosamente pude > replicar el > comportamiento que dices en las maquinas de la > escuela. > > Mientras encontramos el problema, espero que este > correo te sirva de > consuelo :D. > > Por ultimo, ¿que gcc estas usando? > > > Saludos > Jorge L. Rivas > www.xiniom.com > > > > On Fri, 2003-10-10 at 11:51, Manuel Morales wrote: > > bueno, alguien me puede decir porque? pero estando > en > > una terminal del X si corre, y cuando estoy en una > > sesion remota(ej. ssh), no se ejecuta, que tiene > que > > ver el entorno X aqui.... > > > > las matrices son muy grandes pues es un programa > para > > obtener medidas de tiempo de corrida > > > > tareas de la escuela ya saben!... > > > > > > --- "Jorge L. Rivas" <jorge_lopez en xiniom com> > wrote: > > > Directo al grano: Tus arreglos son > > > Gigaaaaaaaaaaaaaaaantes :-o > > > > > > --> Explicación: > > > > > > > > > C maneja 4 clases de almacenamiento para las > > > variables entre ellas auto > > > y static que definen la duración del > almacenamiento > > > (cuanto tiempo > > > existe en memoria). De forma llana, cuando una > > > variable es auto (como > > > tus arreglos ya que auto es el default) se dice > que > > > tienen una > > > persistencia automática, es decir, se asigna > > > almacenamiento cada vez que > > > son utilizadas. Cuando las variables son de > > > persistencia estática > > > (static), el almacenamiento se asigna al inicio > del > > > programa y se > > > mantienen asà hasta que termina la ejecución. > > > > > > Cuando utilizas variables automáticas enormes > es > > > común que C te mande un > > > segmentation fault ya que es incapaz de > "crearlasâ?? > > > y "destruirlas" > > > continuamente. > > > > > > --> Cosas interesantes que observar: > > > > > > Pasa lo mismo con un solo arreglo de tamaño > > > equivalente a tus tres > > > arreglos (por ejemplo float arreglo[3000000]) > > > > > > > > > --> Soluciones > > > > > > 1. Usar apuntadores (solución recomenda): digo, > a > > > pesar de que el código > > > es trivial, es recomendable usar apuntadores y > > > asignar la memoria de > > > manera dinámica. > > > > > > 2. Declarar los arreglos como static float > a[n][m] > > > > > > 3. Declarar las variables fuera del main (como > > > globales que por default > > > son static) aunque en lo particular no me gustan > las > > > variables globales. > > > > > > > > > Saludos > > > Jorge L. Rivas > > > www.xiniom.com > > > > > > > > > > > > On Thu, 2003-10-09 at 18:29, Manuel Morales > wrote: > > > > El programa es el siguiente: > > > > > > > > > > > > #define n 1000 > > > > #define m 1000 > > > > > > > > int main(void) > > > > { > > > > float a[n][m],b[n][m],c[n][m]; > > > > int i,j,k; > > > > > > > > for(i=0;i<n;i++) > > > > for(j=0;j<m;j++) > > > > { > > > > a[i][j]=10; > > > > b[i][j]=10; > > > > c[i][j]=0; > > > > } > > > > > > > > for(i=0;i<n;i++) > > > > for(j=0;j<n;j++) > > > > for(k=0;k<m;k++) > > > > > c[i][j]+=a[i][k]*b[k][j]; > > > > > > > > > > > > printf ("bueno este termino"); > > > > return 0; > > > > } > > > > > > > > y gdb da la siguente salida: > > > > > > > > This GDB was configured as > i386-redhat-linux... > > > > (gdb) r > > > > Starting program: > > > /home/usuarios/bern1629/bin/matriz > > > > > > > > Program received signal SIGSEGV, Segmentation > > > fault. > > > > main () at matriz.c:9 > > > > 9 for(i=0;i<n;i++) > > > > > > > > > > > > bueno mientras toy checando docs....gracias > por la > > > > ayuda... > > > > > > > > bye > > > > > > > > > > > > --- Daniel Guerrero <daniel en danguer com> > wrote: > > > > > > > > > > El Miércoles, 8 octubre, 2003, a las 09:36 > PM, > > > > > Arturo Espinosa-Aldama > > > > > escribió: > > > > > > > > > > > > > > > > >> From: Manuel Morales > <unberam_info en yahoo com> > > > > > >> To: linux_org_mx ayuda > <ayuda en linux org mx> > > > > > >> Subject: [Ayuda] compilacion gcc > > > > > >> Date: Wed, 8 Oct 2003 16:21:10 -0700 > (PDT) > > > > > >> > > > > > >> ya se que para algunos lo que voy a > preguntar > > > es > > > > > >> sencillo: > > > > > >> > > > > > >> acabo de compilar un programa asi: > > > > > >> > > > > > >> gcc -o matriz matris.c > > > > > >> > > > > > >> ok crea el ejecutable, y cuando lo > ejecuto en > > > una > > > > > >> terminal dentro del X el programa corre, > > > cuento > > > > > lo > > > > > >> ejecuto desde una consola, u otra sesion > > > telnet o > > > > > ssh > > > > > >> manda el siguiente error: > > > > > >> > > > > > >> Segmentation fault > > > > > >> > > > > > >> como le hago, necesito correrlo desde > telnet > > > o > > > > > sesion > > > > > >> ssh? > > > > > > > > > > > > Muy interesante, especialmente porque > parece > === message truncated === __________________________________ Do you Yahoo!? The New Yahoo! Shopping - with improved product search http://shopping.yahoo.com _______________________________________________ Ayuda mailing list Ayuda en linux org mx Para salir de la lista: http://mail.linux.org.mx/mailman/listinfo/ayuda/