Problema programmazione C

HopelessDaniel

Utente Attivo
327
35
CPU
I7 4790k + Phanteks PH-TC14CS
Scheda Madre
Asrock extreme 4 Z97
HDD
WD Caviar BLU 1tb 7200rpm + Crucial M550 120gb
RAM
G.Skill Ares 1866mhz 8Gb CL9
GPU
Asus strix 1060 6GB
Audio
Asus xonar DGX
Monitor
Dell U2414H
PSU
XFX XTR 650W
Case
NZXT phantom 530
OS
Windows 10 PRO
Ciao a tutti, ho un problema con un programma scritto in C, se lo compilo in windows con devC o su ubuntu con il gcc, non da problemi e si esegue senza restituire errore...
Mentre se lo utilizzo su fedora a scuola lo compila, ma al momento di eseguirlo, ad un certo punto va in segmentation fault, ho eseguito il debug e più o meno ho capito dove si trova l'errore ma non riesco a capire come risolvero... la parte di codice è questa:

https://drive.google.com/file/d/0B2yUvij86Ya9Rl9MR0dkNzdnUjA/edit?usp=sharing

Grazie mille
 
Ultima modifica:

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
Hai un undefined behavior da qualche parte. Posta il codice in modo appropriato, grazie.
 

HopelessDaniel

Utente Attivo
327
35
CPU
I7 4790k + Phanteks PH-TC14CS
Scheda Madre
Asrock extreme 4 Z97
HDD
WD Caviar BLU 1tb 7200rpm + Crucial M550 120gb
RAM
G.Skill Ares 1866mhz 8Gb CL9
GPU
Asus strix 1060 6GB
Audio
Asus xonar DGX
Monitor
Dell U2414H
PSU
XFX XTR 650W
Case
NZXT phantom 530
OS
Windows 10 PRO

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
Ho modificato con il file con il codice completo...
GDB (che dovresti imparare ad usare) mi indica che il raise del segnale avviene in "prodotto_matriciale" a causa di "j=my->c; *contmoltip=*contmoltip+1;" (linea 124)
Codice:
0x0000000000400d8e in prodotto_matriciale (mx=0x6032f0, my=0x400603310, 
    contmoltip=0x7fffffffe534) at Progetto.c:124
124             j=my->c;                *contmoltip=*contmoltip+1;
Voglio farti notare anche i vari warning di GCC:
Codice:
Progetto.c: In function ‘MCM’:
Progetto.c:83:25: warning: value computed is not used [-Wunused-value]
  else printf("%c",A[i]);*contmcm++;
                         ^
Progetto.c: In function ‘new_matrice’:
Progetto.c:90:10: warning: unused variable ‘j’ [-Wunused-variable]
   int i, j;
          ^
Progetto.c: In function ‘matrice_prodottop’:
Progetto.c:150:25: warning: value computed is not used [-Wunused-value]
  if(i==j){ return A[i]; *contmoltip++;}
                         ^
Progetto.c: At top level:
Progetto.c:181:1: warning: return type defaults to ‘int’ [-Wreturn-type]
 main(){
 ^
Progetto.c: In function ‘main’:
Progetto.c:186:42: warning: unused variable ‘mat’ [-Wunused-variable]
 int **mat1,**mat2,**mat3,**mat4,**mat5,**mat;
                                          ^
Progetto.c:322:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
[B]Progetto.c: In function ‘stampa_matricep’:
Progetto.c:164:14: warning: ‘i’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   if(m!=NULL && i!=0 && j!=0){
              ^
Progetto.c:164:22: warning: ‘j’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   if(m!=NULL && i!=0 && j!=0){[/B]
                      ^
 

HopelessDaniel

Utente Attivo
327
35
CPU
I7 4790k + Phanteks PH-TC14CS
Scheda Madre
Asrock extreme 4 Z97
HDD
WD Caviar BLU 1tb 7200rpm + Crucial M550 120gb
RAM
G.Skill Ares 1866mhz 8Gb CL9
GPU
Asus strix 1060 6GB
Audio
Asus xonar DGX
Monitor
Dell U2414H
PSU
XFX XTR 650W
Case
NZXT phantom 530
OS
Windows 10 PRO
GDB (che dovresti imparare ad usare) mi indica che il raise del segnale avviene in "prodotto_matriciale" a causa di "j=my->c; *contmoltip=*contmoltip+1;" (linea 124)
Codice:
0x0000000000400d8e in prodotto_matriciale (mx=0x6032f0, my=0x400603310, 
    contmoltip=0x7fffffffe534) at Progetto.c:124
124             j=my->c;                *contmoltip=*contmoltip+1;

ho utilizzato anche io GDB è avevo notato dove era l'errore (l'avevo scritto nella parte di codice prima di mettere il link, sulla stessa riga da te segnalata)....ma non riesco a capire perchè restituisca errore, la magior parte del tempo utilizzo devC o ubuntu e non dandomi l'errore non riesco a capire come risolverlo...
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
ho utilizzato anche io GDB è avevo notato dove era l'errore (l'avevo scritto nella parte di codice prima di mettere il link, sulla stessa riga da te segnalata)....ma non riesco a capire perchè restituisca errore, la magior parte del tempo utilizzo devC o ubuntu e non dandomi l'errore non riesco a capire come risolverlo...
Perché quelli non sono errori, bensì warning, che potrebbero causare errori. Puoi compilare con:
Codice:
gcc -Werror -Wall -Wextra
per trattare tali set di warning come errori.
Warning Options - Using the GNU Compiler Collection (GCC)
 

Entra

oppure Accedi utilizzando

Discussioni Simili

Hot: Sei vaccinato? [sondaggio anonimo]

  • Primo ciclo vaccinale completo (1-2 dosi)

    Voti: 484 78.2%
  • Fatta 1a dose, in attesa della 2a

    Voti: 21 3.4%
  • Sono prenotato per la 1a dose

    Voti: 12 1.9%
  • Non so se vaccinarmi

    Voti: 16 2.6%
  • Non ho intenzione di vacciarmi

    Voti: 66 10.7%
  • Fatta anche la terza dose

    Voti: 20 3.2%