Free Pascal Compiler

Screenshot Λογισμικό:
Free Pascal Compiler
Στοιχεία Λογισμικού:
Εκδοχή: 3.0.4 επικαιροποιημένο
Ανεβάστε ημερομηνία: 22 Jun 18
Προγραμματιστής: Daniel Mantione
Άδεια: Δωρεάν
Δημοτικότητα: 262

Rating: 4.0/5 (Total Votes: 2)

Το Free Pascal Compiler (γνωστός και ως FPK Pascal) είναι ένας μεταγλωττιστής Pascal ανοιχτής πηγής που υποστηρίζει τα ακόλουθα λειτουργικά συστήματα: Linux, FreeBSD, NetBSD, MacOSX, 2, BeOS, SunOS (Solaris), QNX και Classic Amiga.

Το Free Pascal Compiler είναι διαθέσιμο για διαφορετικούς επεξεργαστές Intel x86, Amd64 / x86 64, PowerPC, PowerPC64, Sparc και ARM.

Το Free Pascal Compiler διαθέτει μια πολύ καθαρή γλώσσα, δεν χρησιμοποιεί το Makefiles σε αντίθεση με τις περισσότερες γλώσσες προγραμματισμού, είναι γρήγορη με ένα μεγάλο F, κάθε μονάδα έχει τα δικά της αναγνωριστικά και περιλαμβάνει ένα IDE (Integrated Development Environment).

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

Τι νέο υπάρχει release:

  • Αυτή η έκδοση είναι ένα σημείο ενημέρωσης στο 3.0 και περιέχει διορθώσεις και πακέτα ενημερώσεων, μερικά από τα οποία είναι υψηλής προτεραιότητας.

Τι νέο υπάρχει στην έκδοση:

  • Γλωσσικές αλλαγές:
  • Ανώνυμες κληρονομικές κλήσεις:
  • Παλιά συμπεριφορά: Μια ανώνυμη κληρονομούμενη κλήση θα μπορούσε να καλέσει σε οποιαδήποτε μέθοδο σε μια γονική κλάση που δέχτηκε συμβατά στοιχεία συμβατά με τις παραμέτρους της τρέχουσας μεθόδου.
  • Νέα συμπεριφορά: Είναι εγγυημένη μια ανώνυμη κληρονομική κλήση, η οποία πάντοτε καλεί τη μέθοδο σε μια γονική κλάση που έχει αντικατασταθεί από την τρέχουσα.
  • Παράδειγμα: Δείτε http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. Σε προηγούμενες εκδόσεις FPC, το κληρονόμησε κλήση σε tc3.test θα καλέσει μέσα σε tc2.test (β: byte? L: longint = 1234) ;. Τώρα καλεί στο tc.test.
  • Αιτία: Συμμορφώνεται με την τεκμηρίωση του FPC, συμβατότητα με Delphi.
  • Λύση:. Αν θέλετε τον compiler να αποφασίσει ποια μέθοδο να καλέσετε με βάση τις καθορισμένες παραμέτρους, χρησιμοποιήστε μια πλήρως καθορισμένη έκφραση κληρονόμησε κλήσεων, όπως κληρονόμησε τεστ (β)
  • Στην διεπαφή πρέπει να υπάρχει τροποποιητής υπερφόρτωσης:
  • Παλιά συμπεριφορά: Ήταν δυνατή η δήλωση μιας λειτουργίας / διαδικασίας / μεθόδου ως υπερφόρτωσης μόνο στην υλοποίηση.
  • Νέα συμπεριφορά: Εάν χρησιμοποιείται οδηγία υπερφόρτωσης, πρέπει επίσης να εμφανίζεται στη διεπαφή.
  • Λόγος: Ο παλιός μηχανισμός θα μπορούσε να προκαλέσει δυσκολίες στην εύρεση προβλημάτων (ανάλογα με το αν η υλοποίηση είχε ήδη αναλυθεί ή όχι, ο μεταγλωττιστής θα αντιμετώπιζε τη ρουτίνα σαν να δηλώθηκε με / χωρίς υπερφόρτωση), θα μπορούσε να προκαλέσει ανεπιθύμητες αναδρομικές πληρωμές μονάδων για τη διεπαφή crc αλλαγές, και Delphi συμβατότητα.
  • Λύση: Βεβαιωθείτε ότι ο τροποποιητής υπερφόρτωσης υπάρχει τόσο στη διεπαφή όσο και στην υλοποίηση, εάν το χρησιμοποιείτε.
  • Αλλαγές μονάδας:
  • Αρκετές μέθοδοι της υπογραφής TDataset αλλάζουν (TRecordBuffer):
  • Παλιά συμπεριφορά: Πολλές (εικονικές) μέθοδοι του TDataset έχουν παραμέτρους τύπου "pchar", οι οποίες συχνά ονομάζονται "buffer".
  • Νέα συμπεριφορά: Ο τύπος pchar έχει αλλάξει σε TRecordBuffer. Αυτήν τη στιγμή ο τύπος αυτός εξακολουθεί να είναι ένα ψευδώνυμο για το p (ansi) char, αλλά με την πάροδο του χρόνου θα αλλάξει σε pbyte για τον κλάδο 2.7.1 / 2.8.0, ο οποίος είναι συμβατός με D2009 +.
  • Αιτία: Προετοιμασία για συμβατότητα με τα Delphi 2009+ και βελτίωση της γενικής πληκτρολόγησης. Στους Δελφούς 2009+ (και οι πλήρως συμβατοί τρόποι λειτουργίας FPC στο μέλλον) το pchar δεν είναι δείκτης στο byte πια. Αυτή η αλλαγή θα συγχωνευθεί ξανά σε 2.6 (.2), ​​αλλά με TRecordBuffer = pchar.
  • Λύση: Αλλάξτε τις σχετικές εικονικές μεθόδους για να χρησιμοποιήσετε το TRecordBuffer για τις παραμέτρους του buffer. Καθορίστε το TRecordBuffer = pansichar για να διατηρήσετε τους ηλικιωμένους Delphis και τους FPCs να εργάζονται. Σε μέρη όπου έχει καταχωριστεί ένα buffer, μην χρησιμοποιείτε pchar αλλά το σύμβολο TRecordbuffer.
  • Το DLLParam άλλαξε από το Longint σε PtrInt:
  • Παλιά συμπεριφορά: Το DLLParam ήταν τύπου Longint ακόμα και στο Win64.
  • Νέα συμπεριφορά: Το DLLParam είναι πλέον τύπου PtrInt και επίσης σε συστήματα 64 bit.
  • Αιτία: Αποφύγετε την απώλεια δεδομένων, ταιριάζει με τη δήλωση στις κεφαλίδες των Windows.
  • Λύση: Αλλάξτε τη δήλωση των διαδικασιών που χρησιμοποιούνται ως dll άγκιστρο για να πάρετε μια παράμετρο PtrInt αντί για Longint.
  • Ορισμένα σύμβολα στη μονάδα Unix και Unixutils έχουν καταργηθεί:
  • Παλιά συμπεριφορά: Δεν υπάρχει προειδοποιητική προειδοποίηση για τα unixutils.getfs (πολλές παραλλαγές), unix.fpsystem (μόνο για την έκδοση shortstring), τις σταθερές Unix.MS_ και την unix.tpipe. unix.statfs
  • Νέα συμπεριφορά: Ο μεταγλωττιστής θα εκπέμψει μια επικαιροποιημένη προειδοποίηση για αυτά τα σύμβολα. Στις μελλοντικές εκδόσεις αυτές ενδέχεται να καταργηθούν.
  • Λόγος: Το getfs έχει αντικατασταθεί από μια πλήρως cross-platform πλατφόρμα sysutils.getfilehandle εδώ και πολύ καιρό. Το fpsystem (shortstring) ήταν ένα απόσπασμα της μετανάστευσης 1.0.x-> 2.0.x (η υποστηριζόμενη έκδοση παραμένει υποστηριζόμενη), οι σταθερές MS_ είναι για μια κλήση msync που δεν υποστηρίζεται από το FPC και έτσι δεν έχουν χρησιμοποιηθεί και δεν έχουν επιλεγεί για για μια δεκαετία και μπορεί να χρονολογείται στον πυρήνα 1.x φορές, tpipe ήταν το ψευδώνυμο 1.0.x του baseunix.TFildes, της μονάδας όπου ο σωλήνας (fp) μετακινήθηκε σε κατά τη διάρκεια της σειράς 2.0. Το Unix.statfs είναι μια υπερφορτωμένη έκδοση που δεν είχε σωστά μετονομαστεί σε fp * προθέμα όταν οι άλλοι μετονομάστηκαν σε 2.4.0
  • Λύση: Χρησιμοποιήστε τις νέες παραλλαγές (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). Στην περίπτωση των σταθερών MS_, λάβετε τις τρέχουσες τιμές για τις σταθερές από το ίδιο σημείο όπου πήρατε τον κώδικα που τις χρησιμοποιεί.
  • Η συμπεριφορά του TStrings.DelimitedText άλλαξε (κλάσεις μονάδων):
  • Παλιά συμπεριφορά: Εάν το StrictDelim είναι αληθές, το TStrings.DelimitedText δεν ακολούθησε πλήρως την προδιαγραφή μορφής SDF (η οποία ορίζεται στη βοήθεια των Delphi) τουλάχιστον στην περίπτωση διαστημάτων (και πιθανώς άλλων χαμηλών χαρακτήρων ASCII) μπροστά και στο τέλος των πεδίων, καθώς και αποσπάσματα και λήξεις γραμμών. Ακόμα χειρότερα, εάν το StrictDelimiter είναι αληθές, και στις περιπτώσεις που αναφέρονται παραπάνω, η αποθήκευση ενός TString .DelimitedText και η φόρτωση αυτού του κειμένου σε ένα άλλο TString οδηγούν σε διαφορές μεταξύ των δύο. Σημείωση: Το StrictDelimiter είναι ψευδές από προεπιλογή.
  • Νέα συμπεριφορά: Το FPC ακολουθεί τη συμπεριφορά των Delphi.
  • Λόγος: Η συνέπεια (η γραφή και η ανάγνωση στο DelimitedText θα πρέπει να έχουν ως αποτέλεσμα τις ίδιες συμβολοσειρές), συμβατότητα με τα Delphi (σύμφωνα με την προδιαγραφή SDF).
  • Επίλυση: Ελέγξτε τον υπάρχοντα κώδικα που διαβάζει ή γράφει το DelimitedText. εάν είναι απαραίτητο, να μετατρέψετε δεδομένα ή να γράψετε τον κωδικό μετατροπής. Δείτε τις δοκιμές webtbs tw19610.pp για λεπτομερή εξέταση.
  • fcl-image TTiffIDF μετονομάστηκε σε TTiffIFD:
  • Παλιά συμπεριφορά: Η τάξη βοήθειας tiff για τον "κατάλογο αρχείων εικόνας" είχε αναγράφεται με λάθος TiffIDF (tiffcmn μονάδα)
  • Νέα συμπεριφορά: Τώρα μετονομάστηκε σε TTiffIFD
  • Αιτία: Συνέπεια, χαμηλή χρήση
  • Αποκατάσταση: Μετονομάστε το αναγνωριστικό όπως είναι κατάλληλο.
  • Μονάδα libc εκδίδει μια απόρριψη προειδοποίησης:
  • Παλιά συμπεριφορά: Ενώ έχει αποσυρθεί εδώ και χρόνια, η μονάδα libc δεν εξέδωσε προειδοποίηση που δεν έχει ληφθεί υπόψη
  • Νέα συμπεριφορά: Εμφανίζεται μια προειδοποίηση απόρριψης όταν χρησιμοποιείται η μονάδα libc, προτρέποντας την ενημέρωσή σας.
  • Λόγος: η μονάδα libc είναι μια μονάδα κληρονομιάς της Kylix, με περιορισμένη φορητότητα
  • Αποκατάσταση: Χρησιμοποιήστε τις κατάλληλες μονάδες FPC όπως περιγράφεται στη μονάδα libc
  • Άλλο:
  • Η υποστήριξη UPX έχει αφαιρεθεί:
  • Παλαιά συμπεριφορά: Υπήρχε κάποια παραμένουσα υποστήριξη UPX (εκτελέσιμο πακετοποιητή) στα FFC Makefiles και οι εκδόσεις DOS και Windows FPC περιελάμβαναν ένα δυαδικό UPX.
  • Νέα συμπεριφορά: Όλα έχουν καταργηθεί.
  • Λόγος: Τα δυαδικά αρχεία κυκλοφορίας δεν έχουν UPX'ed για λίγο. Το μέγεθος των εκτελέσιμων FPC είναι γενικά ασήμαντο αυτές τις μέρες σε σύγκριση με το συνολικό μέγεθος εγκατάστασης και η χρήση του UPX προκαλεί περιστασιακά κάποιες μικρές ενοχλήσεις (ψευδώς θετικά από ιούς σάρωσης, χειρότερη συμπεριφορά τηλεειδοποίησης από το λειτουργικό σύστημα, ασυμβατότητες με ορισμένα εκτελέσιμα τμήματα ...)
  • Λύση: Κατεβάστε και εγκαταστήστε τον UPX από την αρχική του σελίδα και, γενικά, επανεκτιμήστε την ανάγκη για αυτό.

Τι νέο υπάρχει στην έκδοση 2.4.4:

  • Αυτή η έκδοση περιέχει τις περισσότερες διορθώσεις βιβλιοθηκών από τις αρχές Ιουνίου 2010 μέχρι τον Μάρτιο του 2011.
  • Υπάρχουν επίσης ορισμένες διορθώσεις μεταγλωττιστών, οι οποίες σχετίζονται περισσότερο με 64-bit.

Τι είναι καινούργιο στην έκδοση 2.4.0:

  • >
  • Βελτιώσεις πληροφόρησης εντοπισμού σφαλμάτων νάνου,
  • Διάφοροι νέοι στόχοι
  • 64-bit Mac OS X (x86_64 / ppc64)
  • iPhone (Mac OS X / Arm)
  • Haiku (από την οικογένεια BeOS)
  • Βελτιωμένη υποστήριξη ARM EABI
  • Ολοκληρωμένη βελτιστοποίηση προγραμμάτων
  • Πολλές διορθώσεις σφαλμάτων μεταγλωττιστών και ενημερώσεις βιβλιοθηκών από μισό έτος (από το 2.2.4)

Τι νέο υπάρχει στην έκδοση 2.2.4:

  • Πειραματικά πακέτα-εργαλείο εγκατάστασης
  • Πακέτα:
  • Προστέθηκε υποστήριξη για ανάγνωση / γραφή TIFF σε fcl-image
  • Βελτιώσεις και διορθώσεις στη υποστήριξη CHM
  • Σταθερή σύνδεση του πακέτου gtk2 με τις εκδόσεις gtk πάνω από 2.13.4
  • IDE:
  • Προστέθηκε υποστήριξη για αρχεία βοήθειας CHM
  • Παρόμοια λογισμικά

    gears-coffeescript
    gears-coffeescript

    20 Feb 15

    Cake
    Cake

    14 Apr 15

    GNU Cobol
    GNU Cobol

    17 Feb 15

    R
    R

    17 Feb 15

    Σχόλια για Free Pascal Compiler

    Τα σχόλια δεν βρέθηκε
    προσθήκη σχολίου
    Ενεργοποιήστε τις εικόνες!
    Αναζήτηση ανά κατηγορία