gfortran ερώτηση

...IDE, compilers, κλπ

Συντονιστής: konnn

gfortran ερώτηση

Δημοσίευσηαπό Fedil » 02 Μαρ 2012, 01:35

Γεια και χαρα.

Καποιος που εχει καλη εμπειρια με τον compiler gfortran ισως να ξερει να μου απαντησει.

Κυριως οταν εχει παρει κανενας εναν κωδικα fortran που δεν εχει γραφτει απο τον ιδιο τον χρηστη αλλα απο καποιον αλλο, σιγουρα το πρωτο πραγμα που θα κανει ειναι ισως να ξαναγραψει καποια πραγματακια ωστε να τον βολευουν. Καποιες φορες υπαρχουν λαθη που δεν τα εντοπίζει ο compiler οπως καποιες μεταβλητες που δεν εχουν παρει καποια τιμη και ο compiler βαζει απο μονος του οποια τιμη θελει (παραδειγμα ειπα μονο).

Υπαρχει καμια εντολη στον gfortran ωστε να ειναι πιο αυστηρος στον εντοπισμο λαθων;
Debian 10 Buster 64bit
Intel Core i5 CPU M 430 2.27GHz ‖ RAM 3824 MiB ‖ Dell Inc. 0JY92C - Dell Inc. Inspiron 1564
ATI Manhattan [Mobility Radeon HD 5400 Series] [1002:68e0]
eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02) ⋮ eth2: Broadcom BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01)
Άβαταρ μέλους
Fedil
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 441
Εγγραφή: 06 Σεπ 2009, 16:32
Τοποθεσία: ΗΡΑΚΛΕΙΟ
Εκτύπωση

Re: gfortran ερώτηση

Δημοσίευσηαπό medigeek » 02 Μαρ 2012, 01:43

Το gcc compiler έχει το -Wall - αρχίζοντας από αυτό θα έλεγα να δοκιμάσεις:
Κώδικας: Επιλογή όλων
gfortran -Wall


Υπάρχει και το -pedantic αν θες να θέσεις και το standard που θα έπρεπε να ακολουθήσει:
έγραψε:Some users try to use -pedantic to check programs for conformance. They soon find that it does not do quite what they want---it finds some nonstandard practices, but not all. However, improvements to GNU Fortran in this area are welcome.
This should be used in conjunction with -std=f95, -std=f2003 or -std=f2008.


Κώδικας: Επιλογή όλων
gfortran -Wall -pedantic -std=f95


http://linux.die.net/man/1/gfortran
Κύπριος; Κόπιασε στο ubuntu-cy! ┃ Launchpad Debian Github
Οδηγός για νεοεισερχόμενους -- Αρχικές οδηγίες για αρχάριους χρήστες του Ubuntu

1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 12.10 quantal 3.5.0-21-generic 64bit (en_US.UTF-8, GNOME cinnamon2d), Ubuntu 3.5.0-19-generic, Windows 7
3 Intel Core2 Duo CPU E6550 2.33GHz ‖ RAM 5970 MiB ‖ MSI MS-7235
4 nVidia G73 [GeForce 7300 GT] [10de:0393] {nvidia}
5 eth0: Realtek RTL-8110SC/8169SC Gigabit Ethernet [10ec:8167] (rev 10)
Άβαταρ μέλους
medigeek
Freedom
Freedom
 
Δημοσιεύσεις: 5023
Εγγραφή: 24 Μάιος 2008, 14:49
Τοποθεσία: Σερβία/Κύπρος
Launchpad: medigeek
IRC: savvas
Εκτύπωση

Re: gfortran ερώτηση

Δημοσίευσηαπό Dimitris » 02 Μαρ 2012, 10:33

Fedil, δώσε μας ακριβώς τα σφάλματα που θες να διορθώσεις για να σου πούμε τις επιλογές που έχεις διαθέσιμες. Τα σφάλματα που δε βρίσκει ο compiler είναι μόνο σφάλματα στη λογική του προγράμματος. Ο compiler βρίσκει όλα τα σφάλματα. Ο compiler θα κάνει ΑΚΡΙΒΩΣ ό,τι του πεις, δηλαδή αν δεν του πεις τι τιμή να δώσει στις μεταβλητές δε θα δώσει τιμή. Μια επίσης χρήσιμη παράμετρος είναι η -fbounds-check για το έλεγχο των ορίων των arrays. Χρησιμοποιείς common blocks;
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: gfortran ερώτηση

Δημοσίευσηαπό Fedil » 03 Μαρ 2012, 22:21

Ευχαριστω! Δεν θελω να βρω κατι συγκεκριμενο, απλα μου τυχαν περιπτωσεις που ο compiler δεν ειχε εντοπισει μεταβλητες που δεν ειχαν καμια τιμη αρχικα, και δεν πεταγε warning. Ηθελα να κανω λιγο πιο αυστηρο τον compiler απλα.
Debian 10 Buster 64bit
Intel Core i5 CPU M 430 2.27GHz ‖ RAM 3824 MiB ‖ Dell Inc. 0JY92C - Dell Inc. Inspiron 1564
ATI Manhattan [Mobility Radeon HD 5400 Series] [1002:68e0]
eth0: Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136] (rev 02) ⋮ eth2: Broadcom BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01)
Άβαταρ μέλους
Fedil
dudeTUX
dudeTUX
 
Δημοσιεύσεις: 441
Εγγραφή: 06 Σεπ 2009, 16:32
Τοποθεσία: ΗΡΑΚΛΕΙΟ
Εκτύπωση


Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού