Newsgroup: it.comp.lang.c
Titolo: Problemi strani con una fclose();

Sto avendo strani problemi con una fclose.
Se compilo ed esegui su winxp tutto ok. Quando compilo ed esegui una una
macchina *nix con cui mi collego da casa via SSH con l'università, mi da
segmentation fault.
Come è possibile? Da cosa potrebbe dipendere?
Grazie.

 Come è possibile? Da cosa potrebbe dipendere?
Mi sta venendo il dubbio che tu sia un troll.
Credi davvero che ti si possa rispondere ?

 Credi davvero che ti si possa rispondere ?
Ho pensato che potesse essere un problema di permessi o cose simili.
Se tutto funziona bene sotto windows, non credo sia un problema di codice.

 C'e` un errore :-)
Ma se l'errore dipende dalla chiusura del file, quale potrebbe essere la
causa?
Grazie

 Se tutto funziona bene sotto windows, non credo sia un problema di codice.
"Funzionare" è una parola grossa.  Può dipendere da un milione di 
ragioni, continui a non dare contributi significativi per la soluzione 
del problema.  Se tutto funziona (non dire "bene") sotto Windows è 
perché probabilmente non sei ancora arrivato al punto critico in cui 
sforando la memoria generi una violazione di accesso.  Un codice 
potrebbe sforare la memoria per anni e non generare mai un access violation.

 causa?
E per quale motivo ritieni che l'"errore" dipenda dalla chiusura del file?
Escludendo un bug nell'implementazione di 'fclose', direi che il bug è nel
tuo codice. Per curiosità, stai usando quell'arnese che serve a cercare i
bug?
Max

 ha scritto nel messaggio
news:db0v7f$cu0$1...@newsreader.mailgate.org...

Ho semplicemente detto che quando viene eseguita la fclose() capita il
segmentation faul. Quindi accade qualcosa.
Quello che sto cercando di capire è cose. Avevo pensato che magari da
qualche parte uno sforamento potesse modificare il puntatore al file e
questa cosa causa il seg.fault quando veniva eseguita la fclose.
Cosa sarebbe "quell'arnese che serve a cercare i  bug" ?
Se ti riferisci ad un compilatore ti Borland C, si!. Ma il problema sorge
sotto *nix. Quindi.

 segmentation faul. Quindi accade qualcosa.
Deduzione degna di nota.  Il problema è che pur capitando alla 
invocazione di una fclose() non è affatto detto che dipenda dalla 
fclose().  Questa funzione potrebbe semplicemente trovare zozzate nella 
memoria puntata dal puntatore a FILE che le passi come parametro, 
zozzate scritte da qualche altra parte nel codice.  Ci sarebbero altri 
miliari di motivi, ma finquando non mostri un pezzetto di codice, non si 
può avanzare nessuna ipotesi certa.

 sotto *nix. Quindi.
Quindi 'gdb'. Buon lavoro.
Max


Dalle informazioni che dai potevo anche rispondere:
Tipologie di Reti di Telecomunicazioni
Si va dalla coppia di bicchieri di plastica connessi da uno spago
(bibliografia: Topolino) fino ad Internet (in cui i PC collegati si chiamano
host, mentre le workstation si chiamano hostess).  Si suddividono in:
   1.  WAN: W A.N.: reti di tendenza politica di destra;
   2.  MAN: reti metropolitane di sesso maschile;
   3.  LAN, reti locali con una speciale sottofamiglia: le BELAN (usate
	solo in Liguria).
Esiste anche una classe di reti chiamata WC-Net, per il cui uso bisogna
necessariamente tirare la catena (di Markov)...
Le Petri Net, infine, hanno tariffazione a gettone (token).
                 -- Andrea `Zuse' Balestrero, "Pensieri sul 5^ anno"
Pensi che ci sono andato vicino?  Oppure era piu` chiaro
 > C'e` un errore  :-)
Ciao
Giovanni



Mi sembra impensabile postare un codice di più di 1000 righe sul NG, è per
questo che ho fatto quella domanda.
Speravo vivamente che potesse essere un problema di permessi, dato che il
file viene scritto e chiuso dalla fclose.
Se io problema è su uno sforamento, continuo a non capire come mai su win
dopo centinaia di test con differenti tipi di output questo problema non
viene fuori. Inoltre, lo stesso codice eseguito due giorni fa non dava
questi problemi!!!
Cmq, il problema resta e voi non potete aiutarmi.
Grazie cmq, di tutto. Ciao :-))

 Cmq, il problema resta e voi non potete aiutarmi.
Noi no, ma il debugger si`
Saluti,
Marco
-- 
To email me, remove the no_ and _spam from my address.

 questi problemi!!!
Il codice non si modifica da solo.