Free Pascal Compiler

Screenshot der Software:
Free Pascal Compiler
Softwarebeschreibung:
Version: 3.0.4 Aktualisiert
Upload-Datum: 22 Jun 18
Entwickler: Daniel Mantione
Lizenz: Frei
Popularität: 262

Rating: 4.0/5 (Total Votes: 2)

Free Pascal Compiler (auch bekannt als FPK Pascal) ist ein Open-Source-Pascal-Compiler, der folgende Betriebssysteme unterstützt: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS classic, DOS, Win32, OS / 2, BeOS, SunOS (Solaris), QNX und Classic Amiga.

Free Pascal Compiler ist für verschiedene Prozessoren Intel x86, AMD64 / x86 64, PowerPC, PowerPC64, Sparc und ARM verfügbar.

Free Pascal Compiler bietet eine sehr saubere Sprache, es verwendet keine Makefiles im Gegensatz zu den meisten Programmiersprachen, es ist schnell mit einem großen F, jede Einheit hat ihre eigenen Bezeichner und enthält eine IDE (Integrierte Entwicklungsumgebung).

Darüber hinaus bietet die Software eine hervorragende Integration mit Assemblern, objektorientierte Programmierung, Smart-Linking, Verteilungsunabhängigkeit und ist mit dem vorhandenen Code kompatibel.

Was ist neu in diesem Bereich? release:

  • Diese Version ist ein Punkt-Update auf 3.0 und enthält Bugfixes und Update-Pakete, von denen einige eine hohe Priorität haben.

Was ist neu in der Version:

  • Sprachänderungen:
  • Anonyme geerbte Anrufe:
  • Altes Verhalten: Ein anonymer geerbter Aufruf konnte eine Methode in einer Elternklasse aufrufen, die Argumente akzeptierte, die mit den Parametern der aktuellen Methode kompatibel waren.
  • Neues Verhalten: Ein anonymer geerbter Aufruf garantiert immer den Aufruf der Methode in einer übergeordneten Klasse, die vom aktuellen überschrieben wurde.
  • Beispiel: Siehe http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. In früheren FPC-Versionen würde der geerbte Aufruf in tc3.test zu tc2.test aufrufen (b: byte; l: longint = 1234); Jetzt ruft es zu tc.test auf.
  • Grund: Entsprechen Sie der FPC-Dokumentation, Delphi-Kompatibilität.
  • Abhilfe: Wenn Sie möchten, dass der Compiler basierend auf den angegebenen Parametern entscheidet, welche Methode aufgerufen werden soll, verwenden Sie einen vollständig angegebenen geerbten Aufrufausdruck, z. B. den geerbten test (b).
  • Überladungsmodifikator muss in der Schnittstelle vorhanden sein:
  • Altes Verhalten: Eine Funktion / Prozedur / Methode konnte nur in der Implementierung als Überlast deklariert werden.
  • Neues Verhalten: Wenn eine Überladungs-Direktive verwendet wird, muss sie auch in der Schnittstelle erscheinen.
  • Grund: Der alte Mechanismus könnte Probleme verursachen (je nachdem, ob die Implementierung bereits analysiert wurde oder nicht, der Compiler würde die Routine so behandeln, als ob sie mit / ohne Überladung deklariert wäre) Schnittstelle crc Änderungen und Delphi-Kompatibilität.
  • Abhilfe: Stellen Sie sicher, dass der Überladungsmodifikator sowohl in der Schnittstelle als auch in der Implementierung vorhanden ist, wenn Sie ihn verwenden.
  • Einheitenänderungen:
  • Mehrere Methoden von TDataset ändern die Signatur (TRecordBuffer):
  • Altes Verhalten: Mehrere (virtuelle) Methoden von TDataset haben Parameter vom Typ "pchar", die oft "Puffer" genannt werden.
  • Neues Verhalten: Der Typ pchar wurde in TRecordBuffer geändert. Derzeit ist dieser Typ immer noch ein Alias ​​für p (ansi) char, aber mit der Zeit wird er für den Zweig 2.7.1 / 2.8.0, der mit D2009 kompatibel ist, in pbyte geändert.
  • Grund: Vorbereitung für Delphi 2009+ Kompatibilität und Verbesserung der allgemeinen Typisierung. In Delphi 2009+ (und in Zukunft voll kompatible FPC-Modi) ist pchar kein Zeiger mehr auf Byte. Diese Änderung wird zurück zu 2.6 (.2) zusammengeführt, aber mit TRecordBuffer = pchar.
  • Abhilfe: Ändern Sie die relevanten virtuellen Methoden, um TRecordBuffer für Pufferparameter zu verwenden. Definiere TRecordBuffer = pansichar, damit ältere Delphis und FPCs funktionieren. An Stellen, an denen ein Puffer eingegeben wird, sollte nicht pchar, sondern das Symbol TRecordbuffer verwendet werden.
  • DLLParam wurde von Longint in PtrInt geändert:
  • Altes Verhalten: DLLParam war vom Typ Lange Ganzzahl sogar auf Win64.
  • Neues Verhalten: DLLParam ist jetzt vom Typ PtrInt, also auch auf 64-Bit-Systemen.
  • Grund: Verhindern Sie Datenverlust, stimmen Sie mit der Deklaration in den Windows-Headern überein.
  • Abhilfe: Ändern Sie die Deklaration der Prozeduren, die als DLL-Hook verwendet werden, um einen PtrInt-Parameter anstelle von Longint zu verwenden.
  • Einige Symbole in Unix und Unixutils sind veraltet:
  • Altes Verhalten: Keine veraltete Warnung für unixutils.getfs (mehrere Varianten), unix.fpsystem (nur Shortstring-Version), Unix.MS_ constants und unix.tpipe. unix.statfs
  • Neues Verhalten: Der Compiler gibt eine veraltete Warnung für diese Symbole aus. In zukünftigen Versionen können diese entfernt werden.
  • Grund: getfs wurde vor langer Zeit durch eine völlig plattformübergreifende Funktion sysutils.getfilehandle ersetzt. fpsystem (shortstring) war ein Rest der 1.0.x- & gt; 2.0.x-Migration (die anistring-Version wird weiterhin unterstützt), die MS_-Konstanten sind für einen msync-Aufruf vorgesehen, der von FPC nicht unterstützt wird und daher nicht verwendet und deaktiviert wurde über ein Jahrzehnt hinweg und möglicherweise bis zum 1.x-Kernel, tpipe war der 1.0.x-Alias ​​von baseunix.TFildes, der Einheit, in die die (fp) -Pipe während der 2.0-Serie verschoben wurde. Unix.statfs ist eine überladene Version, die nicht richtig in fp * -Präfix umbenannt wurde, als die anderen in 2.4.0
  • umbenannt wurden
  • Abhilfe: Verwenden Sie die neuen Varianten (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). Erhalten Sie im Fall der Konstanten MS_ aktuelle Werte für die Konstanten von derselben Stelle, an der Sie den Code erhalten haben, der sie verwendet.
  • TStrings.DelimitedText Verhalten geändert (unit Klassen):
  • Altes Verhalten: Wenn StrictDelim wahr ist, folgte TStrings.DelimitedText nicht vollständig der SDF-Formatspezifikation (die in der Delphi-Hilfe definiert ist), zumindest im Falle von Leerzeichen (und vermutlich anderen niedrigen ASCII-Zeichen) vor und am Ende von Feldern sowie Anführungszeichen und Zeilenenden. Schlimmer noch, wenn StrictDelimiter in den oben genannten Fällen wahr ist, führt das Speichern eines TString .DelimitedText und das Laden dieses Textes in einen anderen TString zu Unterschieden zwischen den beiden. Hinweis: StrictDelimiter ist standardmäßig falsch.
  • Neues Verhalten: FPC folgt Delphi-Verhalten.
  • Grund: Konsistenz (das Schreiben und Lesen von DelimitedText sollte zu den gleichen Strings führen), Delphi-Kompatibilität (gemäß der SDF-Spezifikation).
  • Lösung: Überprüfen Sie Ihren vorhandenen Code, der DelimitedText liest oder schreibt; falls erforderlich, Daten konvertieren oder Konvertercode schreiben. Einen ausführlichen Test finden Sie unter Tests webtbs tw19610.pp.
  • fcl-image TTiffIDF umbenannt in TTiffIFD:
  • Altes Verhalten: Die Tiff-Hilfsklasse für das & quot; Bilddateiverzeichnis & quot; war falsch geschriebene TiffIDF (tiffcmn Einheit)
  • Neues Verhalten: Jetzt in TTiffIFD
  • umbenannt
  • Grund: Konsistenz, geringe Verwendung
  • Abhilfe: Benennen Sie den Bezeichner entsprechend um.
  • Einheit libc gibt eine veraltete Warnung aus:
  • Altes Verhalten: Obwohl die libc-Einheit jahrelang veraltet war, gab sie keine veraltete Warnung mehr aus
  • Neues Verhalten: Eine veraltete Warnung wird angezeigt, wenn die Einheit libc verwendet wird, und Sie aufgefordert werden, sie zu aktualisieren.
  • Grund: unit libc ist eine ältere Kylix-Einheit mit eingeschränkter Portabilität
  • Abhilfe: Verwenden Sie die richtigen FPC-Einheiten wie in libc unit
  • beschrieben
  • Andere:
  • UPX-Unterstützung wurde entfernt:
  • Altes Verhalten: In den FPC-Makefiles gab es einige übrig gebliebene UPX-Dateien (ein ausführbarer Packer), und DOS- und Windows-FPC-Versionen enthielten eine UPX-Binärdatei.
  • Neues Verhalten: Alle entfernt.
  • Grund: Release-Binärdateien wurden für eine Weile nicht UPX-gesteuert. Die Größe der ausführbaren FPC-Dateien ist heutzutage im Vergleich zur gesamten Installationsgröße in der Regel unbedeutend, und die Verwendung von UPX verursacht gelegentlich geringfügige Störungen (falsche Positive von Virenscannern, schlechteres Paging-Verhalten durch das Betriebssystem, Inkompatibilität mit bestimmten ausführbaren Abschnitten, ...)
  • Abhilfe: Downloaden und installieren Sie UPX selbst von seiner Homepage und im Allgemeinen neu zu bewerten, die Notwendigkeit dafür.

Was ist neu in Version 2.4.4:

  • Diese Version enthält die meisten Bibliotheks-Fixes von Anfang Juni 2010 bis März 2011.
  • Es gibt auch einige Compiler-Korrekturen, die meisten betreffen 64-Bit.

Was ist neu in Version 2.4.0:

  • Delphi mögen Ressourcen für alle Plattformen,
  • Dwarf Debug-Informationen verbessert,
  • Mehrere neue Ziele
  • 64-Bit Mac OS X (x86_64 / ppc64)
  • iPhone (Mac OS X / Arm)
  • Haiku (aus der BeOS-Familie)
  • Verbesserte ARM EABI-Unterstützung
  • Ganze Programmoptimierung
  • Viele Compiler Bugfixes und ein halbes Jahr Bibliotheksupdates (seit 2.2.4)

Was ist neu in Version 2.2.4:

  • Alle:
  • Experimentelle Pakete - Installationswerkzeug
  • Pakete:
  • Unterstützung für TIFF-Lesen / Schreiben in fcl-image
  • hinzugefügt
  • Verbesserungen und Korrekturen in der CHM-Unterstützung
  • Die Verknüpfung des gtk2-Pakets mit den gtk-Versionen über 2.13.4
  • wurde behoben
  • IDE:
  • Zusätzliche Unterstützung für CHM-Hilfedateien

Ähnliche Software

GCC
GCC

16 Aug 18

Tiny C Compiler
Tiny C Compiler

3 Jun 15

SmartEiffel
SmartEiffel

3 Jun 15

Kommentare zu Free Pascal Compiler

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!