C++ SIGSEGV

Stelios Bounanos sb at dial.pipex.com
Wed Sep 11 16:36:01 EEST 2002


 >>>>> On Wed, 11 Sep 2002 02:27:51 +0300, Nikos Kanellopoulos
 >>>>> <nkan at panafonet.gr> was rumoured to have said:

 > On Wednesday 11 September 2002 00:02, Nikos Mavroyanopoulos wrote:
 >> Κλασική περίπτωση, νέου προγραμματιστή που μόλις έμαθε

 > Μη βγάζεις βιαστικά συμπεράσματα.
 > Σίγουρα το λάθος ήταν παιδικό, αλλά μετά 
 > τις 14 ώρες πέφτει η απόδοση του εγκεφάλου.

 > Ο αρχικός κώδικας που με απασχολούσε ήταν ο εξής:

 > ifstream myfile;
 > myfile.open (path, ios::in);

 > όπου το path ήταν extern char* .
 > Πιο πριν γίνεται η ανάθεση
 > path = yytext
 > που είναι ασφαλής, αφού το flex
 > φροντίζει για την εξασφάλιση μνήμης
 > για την yytext (επίσης char*).

 > Η τιμή του path σύμφωνα με την gdb 
 > (print path) είναι "5.txt\n". 
 > To "\n" δεν ευθύνεται για το πρόβλημα 
 > (δοκίμασα  print path="5.txt" ,  αλλά τα ίδια).

 > Στο myfile.open() παίρνω SIGSEGV.
 > Δεν θα έπρεπε να δουλεύει;

Mporeis na steileis ton oso to dynato syntomotero kwdika poy na
paroysiazei ayto to problhma (mazi me ta minimum lex & yacc arxeia)?

Ase poy me thn parapanw diadikasia mallon 8a breis to bug monos soy :)

 > -- 
 > Νίκος Κανελλόπουλος
 > www.himaira.net


Rgds,
/-sb.



More information about the Linux-greek-users mailing list