-  [WT]  [Home] [Manage]

Al contrario di DC/hd/, le richieste di torrent, crack, etc. non sono contro il regolamento.

[Indietro]
Modalità post: Risposta
Name
Email b i u s sp
Soggetto   (risposta a 15693)
Messaggio
File
URL File
Embed  
Password  (per cancellare post e file)
  • Tipi di file supportati: GIF, JPG, PNG
  • Massima dimensione del file 4000 KB.
  • Le immagini più grandi di 250x250 pixel saranno ridimensionate.
  • Ci sono 927 post unici. Vedi catalogo

  • Blotter aggiornato il: 2017-10-11 Vedi/Nascondi Vedi Tutti

File 152468768188.png - (58.43KB , 256x256 , inori_developer.png )
15693 Num. 15693
Perché lo stesso codice su due compilatori diversi mi da due risultati diversi? O meglio, con uno funziona, con l'altro lo compila senza problemi ma poi crasha.
>> Num. 15694 quick reply
Tiro a indovinare: variabile non inizializzata.
Se parliamo di codice C/C++, cose tipo "la variabile contatore viene azzerata dal compilatore GCC ma non dal VS, perché uno dei due é stronzo e non rispetta gli standard" sono all'ordine del giorno.
Specie se non inizializzi un puntatore a null, possono succedere cose divertenti perché un puntatore che dovrebbe essere nullo ma non lo é provoca sempre magagne inaspettate.

Se mi dai qualche info extra (linguaggio, tipo di crash, se entrambi i compilatori compilano in debug o release) provo a darti una mano a risolvere il mistero.
>> Num. 15695 quick reply
>>15694
Linguaggio fortran 90

La parte che da il problema è, al 99%
open (unit=7, file ="2018.txt", form = "formatted", status="old", action="read", access='sequential')
l = d - 1
do i = 1, l
read (7, *)
end do
read (unit=7, fmt="(I3, F10.3, F10.3, F10.3, F10.3, F10.3, F10.3, F10.3, F10.3)") &
a1, a2, a3, a4, a5, a6, sumIW, sumIWn, sumIM
close (unit=7)

Ho tolto i commenti per semplcità

Con Plato funziona, ovvero mi legge quei nove valori dopo aver saltato l righe.
Con force si chiude e si blocca.
>> Num. 15696 quick reply
>>15695
Non so nulla di fortran, comunque non hai un codice di errore di ritorno o qualcosa per un debug? Hai considerato che potrebbe crashare per via dei flag sul file, cioè una prima esecuzione la hai terminata all'improvviso e ha lasciato un flag di utilizzo, che magari Plato ignora e Force considera?
Potresti provare con altri compilatori che magari offrono degli errori o dei warning, tipo gcc o flang?
>> Num. 15697 quick reply
>>15696
Non ho un cazzo di niente con Force, è quello il problema. Il programma arriva li e si chiude. Se salto quella parte (la salta quando d = 1) tutto funziona perfettamente. Viene compilato senza dare problemi.
Domani provo ad installare code blocks e vedo se quello mi dice qualcosa.
>> Num. 15699 quick reply
Ho risolto col comando PAUSE. Il problema era che io avevo detto che a1 era un reale, mentre il primo valore nel file era un intero. Questo prima mi dava un errore dicendo che I3 non andava bene (non so perché force questo non lo ha notato). Quando ho cambiato I3 con F10.3 ha cominciato a darmi numeri assurdi.

Ho risolto con un loop, non so come di preciso però adesso funziona.


Cancella post []
Password  
Segnala post
Motivo