Προς το περιεχόμενο

Fortran Compilation


stathi02

Προτεινόμενες αναρτήσεις

Δημοσ.

Παιδια έχω το παρακάτω πρόβλημα. Κάνω compilation και βάζω ένα Breakpoint σε ένα call και όταν πατάω play παρατηρώ ότι το call γίνεται δυο φορές και συμβαίνει σε όλα σχεδόν τα call . Χρησιμοποιώ Visual Studio 2008 και ο compiler είναι ο 11. Σας έχει τύχει ποτέ κάτι παρόμοιο.??

Δημοσ.

Λειψά πράγματα μας λες.

 

1) Ποιόν compiler χρησιμοποιείς ;

Να υποθέσω την Intel fortran ( διότι αυτή είναι στην έκδοση 11 ) ;

 

2) Όταν λες "πατώ play" εννοείς start debugging (δηλ. F5) ;

 

3) Πώς αντιλαμβάνεσαι ότι το call γίνεται πραγματικά δυό φορές ;

To ρωτώ αυτό διότι σε dubugging με breakpoints συμβαίνει κάποιες φορές φορές ο δρομέας που δείχνει την τρέχουσα θέση

να περνά δυό φορές από το ίδιο σημείο ή να παρακάμπτει γραμμές πισωγυρίζοντας απλώς για εντοπίσει blocks κώδικα, χωρίς να τα εκτελεί πραγματικά.

Για να διαπιστώσεις ότι στ' αλήθεια γίνεται δυο φορές η εκτέλεση βάλε μια μεταβλητή να αυξάνεται η τιμή της κατά 1

μέσα στην υπορουτίνα του call και δες τι γίνεται. Αν εκτελείται δυο φορές χωρίς το breakpoint κάπου κάνεις λάθος

ανεξάρτητα από τον compiler.

Δημοσ.

1)Ναι τον τελευταίο της Ιντελ χρησιμοποιώ

2)Ναι start debugging

3)Το αντιλαμβάνομαι ως εξής: Πρώτα κάτω δεξιά που δείχνει τα debugging points (δεν θυμάμαι το όνομα από το παράθυρο ) όπου έχω call μου βγάζει ένα + (expand) και δεύτερον όταν βάζω ακριβώς στην επόμενη γραμμή breakpoint παρατηρώ ότι για να περάσει το call θέλει 2 play.

Αύριο θα κάνω αυτό που προτείνεις. Ευχαριστώ

Δημοσ.

Έχε υπόψην σου και το εξής.

 

H έκδοση 11.0.61 έχει κάποιο bug στις βελτιστοποιήσεις όταν ανοίξεις το openMP και μπορεί να σου βγάλει

μήνυμα "catastrophic error" κατά το linkng.

 

Στην έκδοση 11.1.51 αυτό το πρόβλημα έχει διορθωθεί αλλά υπάρχει ένα άλλο.

Στα windows 7 υπάρχει κάποια ασυμβατότητα με το quick win και όταν καλέσεις κάποια ρουτίνα του που περιμένει

να πατηθεί πλήκτρο (πχ. την messagebox) το πρόγραμμα μπορεί να κρεμάσει. Την τελευταία φορά που το είχα

ψάξει, καιρό πριν, δεν είχαν βρει ακόμη σε τι οφείλεται.

Εδώ είναι μια συζήτηση αυτού του προβλήματος : http://software.intel.com/en-us/forums/showthread.php?t=70026

 

Στο forum της Intel μπορείς να βρεις βοήθεια για πολλά πράγματα που αφορούν το

λογισμικό της και μάλιστα και από ανθρώπους που αναπτύσσουν τους

compilers της κι όχι από τον κάθε τυχόντα . Ειδικά για τη fortran δες εδώ :

http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/

 

Οι compiler της Intel είναι γενικά πολύ καλοί αλλά όχι τέλειοι.

Το καλύτερό τους είναι ότι διατηρούν τη συμβατότητα σχεδόν πλήρως (υπάρχουν μικροπροβλήματα) από

την εποχή της fortran powerstation. Δηλ. από το '93 μέχρι σήμερα, περίπου 20 χρόνια.

Πράγμα που για compilers της C++ δεν υφίσταται.

Και όταν βλέπω τι πρέπει να κάνουν οι άλλοι στη C++ για να κάνουν απλά πράγματα όπως να σχεδιάσουν μια

γραμμή ή να αλλάξουν το χρώμα γραφής ενώ στη fortran γίνεται σχεδόν χωρίς καμιά μέριμνα με μια-δυο εντολές

του qwin γελώ ειρωνικά...

Δημοσ.

Ευχαριστώ πολύ για τις πληροφορίες. Το πρόβλημα είναι ότι ο κώδικας δεν είναι δικός μου και είναι από διάφορες εκδόσεις και πρέπει να κάνω καθαρισμό στον κώδικα και να τον κάνω να τρέχει. Anyway, ευχαριστώ και θα ποστάρω αυριο λεπτομέριες.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...