void make_pinaka(double ***pinaka, int grammes, int sthles)
{
int i,j;
double **temp; /*έβαλα αυτό*/
if (grammes>0 && sthles>0)
{
temp=(double **)malloc(sizeof(double)); /*έβαλα αυτό*/
for (i=0;i<grammes;i++)
{
*(temp+i)=(double *)malloc(sthles*sizeof(double)); /*έβαλα αυτό*/
}
}
else
{
printf("Dwsate lanthasmena dedomena - Dokimaste pali");
}
*pinaka=temp;
}
Λίγο που επιχείρησα να το τρέξω εκεί μου χτύπαγε segmentation fault.Για δες και έτσι και πες μου.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Έχετε κάποια ιδέα για το πώς να αντιμετωπίσω το segmentation fault. Μου το βγάζει για όλες μου τις συναρτήσεις... Help me plz
Πακέτο.
Γι αυτή την περίπτωση δεν μας δείχνεις κάποια συνάρτηση;
Μπορεί να επιχειρείς να κάνεις προσπέλαση κάπου που δεν επιτρέπεται.Για παραδειγμα να βγεις εκτός ορίων σε ενα array.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
gcc lib.c programma.c .
Δεν το ετρεξα γιατι ειναι πρωι και πρεπει να φύγω.Πάντως αυτός ειναι ο λόγος.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Επίσης πώς έκανες compile τα αρχεία σου;(εννοώ αν τα έκανες με κάποιο ide ή μέσω γραμμής εντολών; )
Αυτό συμβαίνει μάλλον γιατι τα αρχεία δεν γίνονται linked.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Εναλλακτικά βάλε την system("PAUSE") αντί για scanf ,αλλά θα κάνεις include την <stdlib.h>
ή με τρίτο τρόπο κάνοντας χρήση breakpoints για τμηματική εκτέλεση του κώδικα.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Θα εχεις ενα header αρχειο με ονομα my_functions.h ,που περιεχει τα προτοτυπα των συναρτησεων, που θα εχει δομη
/*prototypa sunartisewn*/
int eswteriko_ginomeno(int *vector1 , int *vector2);
int e3wteriko_ginomeno(int *vector1 , int *vector2);
...
#include "my_functions.h"
int eswteriko_ginomeno(int *vector1 , int *vector2){
int eswteriko_ginomeno; /*metavliti apo8ikeysis apotelesmatos eswterikou ginomenou*/
/*function body*/
return eswteriko_ginomeno;
}
Ώρα να την θυμηθείςυγ: πάνε 4 χρόνια από τότε που πέρασα τη C...
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Προσωρινες main μπορεις να δημιουργεις για να τεσταρεις τους κωδικες που γραφεις.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
Σε κανενα αρχειο δεν θα υλοποιήσεις τη main.
Αυτο που θα βαλω γινεται με τον gcc compiler.
Kανεις compile καθε αρχειο σου.
Mετα με το προγραμμα ar θα γινει δημιουργια ενος archive αρχειου με ολα τα object codegcc -c file1.o file1.c
gcc -c file2.o file2.c
...
και μεar qv mylib.a file1.o file2.o ...
καταλογογραφεις τη βιβλιοθηκη σου.ranlib mylib.a
Tωρα για καθε αρχειο που θες το κανεις compile με τον παρακατω τροπο.
gcc -o my_filename my_file.c -lmylib -L.
Με αυτον τον τροπο δημιουργεις τη βιβλιοθηκη σου.
Σημείωση: Το μήνυμα αυτό γράφτηκε 16 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.
-
Το forum μας χρησιμοποιεί cookies για να βελτιστοποιήσει την εμπειρία σας.
Συνεχίζοντας την περιήγησή σας, συναινείτε στη χρήση cookies στον περιηγητή σας.