Ciao a tutti!
sono alle prese con l'errore "Errore di segmentazione (core dump creato)". Di solito accade (mi pare) quando si accede ad un puntatore nullo, ma nel mio caso avviene non appena va in esecuzione il programma.
Mi spiego, ho il mio programma (con tanto di main.c header.h e functions.c), già linkato e compilato, solo che non appena eseguo ottengo l'errore di segmentazione:
codice:
hino@hino-X51L:~/NetBeansProjects/Room_Assignment$ ./a.out 6
Errore di segmentazione (core dump creato)
Per capire quale riga dia il problema ho inserito nel codice una printf() che, a partire dall'inizio del main, sposto in giù.
codice:
int main(int argc, char** argv) {
printf("Fin qui tutto bene!");
int N; // Number of people
struct room *a, *b;
int i, j;
int exit = 0;
float **d; // N x N matrix containing the coefficient of affinity of each pair of people
int size; // Communicator size
int rank; // id of the current process
int choose1, choose2;
int num_solutions;
double *perf_MPI;
double *perf;
double t1, t2;
/* parameters check */
if(argc != 2){
printf("Argument error: %s not recognized as argument\n", argv[0]);
return -1;
}
N = atoi(argv[1]);
num_solutions = ldexp((pow(N,2)-N), -1);
...
L'output è sempre il seguente:
codice:
hino@hino-X51L:~/NetBeansProjects/Room_Assignment$ ./a.out 6
Errore di segmentazione (core dump creato)
Qualche idea su dove possa essere il problema?
Grazie anticipatamente