Free Pascal Compiler

Logiciel capture d'écran:
Free Pascal Compiler
Détails logiciels:
Version: 3.0.4 Mise à jour
Date de transfert: 22 Jun 18
Développeur: Daniel Mantione
Licence: Gratuit
Popularité: 262

Rating: 4.0/5 (Total Votes: 2)

Compilateur Free Pascal (FPK Pascal) est un compilateur Pascal open source qui supporte les systèmes d'exploitation suivants: Linux, FreeBSD, NetBSD, MacOSX / Darwin, MacOS classic, DOS, Win32, OS / 2, BeOS, SunOS (Solaris), QNX et Amiga classique.

Free Pascal Compiler est disponible pour différents processeurs Intel x86, Amd64 / x86 64, PowerPC, PowerPC64, Sparc et ARM.

Free Pascal Compiler dispose d'un langage très propre, n'utilise pas de Makefiles contrairement à la plupart des langages de programmation, Fast avec un gros F, chaque unité a ses propres identifiants et inclut un IDE (Integrated Development Environment).

De plus, le logiciel offre une excellente intégration avec les assembleurs, la programmation orientée objet, le smartlinking, l'indépendance de la distribution, et il est compatible avec le code existant.

Quoi de neuf ? release:

  • Cette version est une mise à jour de 3.0 et contient des corrections de bogues et des paquets de mise à jour, dont certains sont hautement prioritaires.

Quoi de neuf dans la version:

  • Changements de langue:
  • Appels hérités anonymes:
  • Ancien comportement: un appel hérité anonyme pouvait appeler toute méthode d'une classe parente qui acceptait les arguments compatibles avec les paramètres de la méthode en cours.
  • Nouveau comportement: Un appel hérité anonyme est garanti de toujours appeler la méthode dans une classe parente qui a été remplacée par la classe en cours.
  • Exemple: Voir http://svn.freepascal.org/svn/fpc/trunk/tests/tbs/tb0577.pp. Dans les versions précédentes de FPC, l'appel hérité de tc3.test appelait tc2.test (b: byte; l: longint = 1234) ;. Maintenant, il appelle à tc.test.
  • Raison: Conforme à la documentation FPC, compatibilité Delphi.
  • Remède: Si vous souhaitez que le compilateur décide de la méthode à appeler en fonction des paramètres spécifiés, utilisez une expression d'appel héritée entièrement spécifiée telle que test hérité (b).
  • Le modificateur de surcharge doit être présent dans l'interface:
  • Ancien comportement: Il était possible de déclarer une fonction / procédure / méthode comme une surcharge uniquement dans l'implémentation.
  • Nouveau comportement: Si une directive de surcharge est utilisée, elle doit également apparaître dans l'interface.
  • Raison: L'ancien mécanisme pouvait causer des problèmes difficiles à trouver (selon que l'implémentation était déjà analysée ou non, le compilateur traiterait la routine comme si elle était déclarée avec / sans surcharge), cela pourrait causer des recompilations indésirables. pour interfacer les changements crc, et la compatibilité avec Delphi.
  • Solution: Assurez-vous que le modificateur de surcharge est présent dans l'interface et dans l'implémentation si vous l'utilisez.
  • Modifications de l'unité:
  • Plusieurs méthodes de TDataset changent la signature (TRecordBuffer):
  • Vieux comportement: Plusieurs méthodes (virtuelles) de TDataset ont des paramètres de type "pchar", qui sont souvent appelés "buffer".
  • Nouveau comportement: Le type pchar a été changé en TRecordBuffer. Actuellement ce type est toujours un alias pour p (ansi) char, mais avec le temps il sera changé en pbyte pour la branche 2.7.1 / 2.8.0, qui est compatible D2009 +.
  • Motif: Préparation à la compatibilité Delphi 2009+ et amélioration de la saisie générale. Dans Delphi 2009+ (et les modes FPC entièrement compatibles dans le futur) pchar n'est plus un pointeur vers un octet. Cette modification sera fusionnée à 2.6 (.2), ​​mais avec TRecordBuffer = pchar.
  • Solution: Modifiez les méthodes virtuelles pertinentes pour utiliser TRecordBuffer pour les paramètres du tampon. Définissez TRecordBuffer = pansichar pour que les anciens Delphi et FPC fonctionnent. Dans les endroits où un tampon est typecasted, n'utilisez pas pchar mais le symbole TRecordbuffer.
  • DLLParam a changé de Longint en PtrInt:
  • Vieux comportement: DLLParam était de type Longint même sur Win64.
  • Nouveau comportement: DLLParam est maintenant de type PtrInt donc aussi sur les systèmes 64 bits.
  • Raison: Empêchez la perte de données, faites correspondre la déclaration dans les en-têtes de Windows.
  • Solution: modifiez la déclaration des procédures utilisées en tant que hook dll pour prendre un paramètre PtrInt au lieu de Longint.
  • Certains symboles de l'unité Unix et Unixutils sont obsolètes:
  • Ancien comportement: aucun avertissement obsolète pour unixutils.getfs (plusieurs variantes), unix.fpsystem (version shortstring uniquement), les constantes Unix.MS_ et unix.tpipe. unix.statfs
  • Nouveau comportement: le compilateur émet un avertissement désapprouvé pour ces symboles. Dans les versions futures, ils peuvent être supprimés.
  • Raison: getfs a été remplacé par une fonction entièrement multi-plateforme sysutils.getfilehandle il y a longtemps. fpsystem (shortstring) était un reste de la migration 1.0.x- & gt; 2.0.x (la version ansistring reste supportée), les constantes MS_ sont pour un appel msync qui n'est pas supporté par FPC, et ont donc été inutilisées et non cochées plus d'une décennie et pourrait être daté au noyau 1.x fois, tpipe était l'alias 1.0.x de baseunix.TFildes, l'unité où le tuyau (fp) a été déplacé pendant 2.0 séries. Unix.statfs est une version surchargée qui n'a pas été correctement renommée en préfixe fp * lorsque les autres ont été renommés en 2.4.0
  • Solution: utilisez les nouvelles variantes (sysutils.getfilehandle, fpsystem (ansistring), baseunix.tfildes). Dans le cas des constantes MS_, obtenez les valeurs actuelles des constantes à partir du même endroit où vous avez obtenu le code qui les utilise.

  • Le comportement de
  • TStrings.DelimitedText a changé (unit Classes):
  • Ancien comportement: si StrictDelim est vrai, TStrings.DelimitedText n'a pas suivi complètement la spécification de format SDF (qui est définie dans l'aide Delphi) au moins dans le cas d'espaces (et vraisemblablement d'autres caractères ASCII bas) devant et à la fin des champs ainsi que des citations et des fins de ligne. Pire, si StrictDelimiter est vrai, et dans les cas mentionnés ci-dessus, l'enregistrement d'un TString .DelimitedText et le chargement de ce texte dans un autre TString conduisent à des différences entre les deux. Note: StrictDelimiter est faux par défaut.
  • Nouveau comportement: FPC suit le comportement de Delphi.
  • Raison: la cohérence (écrire et lire dans DelimitedText devrait avoir les mêmes chaînes), la compatibilité Delphi (suivant la spécification SDF).
  • Solution: consultez votre code existant qui lit ou écrit DelimitedText; Si nécessaire, convertissez les données ou écrivez le code du convertisseur. Voir tests webtbs tw19610.pp pour un test détaillé.
  • fcl-image TTiffIDF renommé en TTiffIFD:
  • Ancien comportement: la classe d'assistance tiff pour le "répertoire de fichiers image". a été mal orthographié TiffIDF (unité tiffcmn)
  • Nouveau comportement: maintenant renommé en TTiffIFD
  • Raison: Cohérence, faible utilisation
  • Remède: Renommez l'identificateur si nécessaire.
  • unit libc émet un avertissement obsolète:
  • Ancien comportement: Bien que déprécié depuis des années, l'unité libc n'a pas émis d'avertissement désapprouvé
  • Nouveau comportement: un avertissement désapprouvé est affiché lorsque l'unité libc est utilisée, vous invitant à mettre à jour.
  • Raison: l'unité libc est une unité héritée de Kylix, avec une portabilité limitée
  • Remède: Utiliser les unités FPC appropriées comme décrit dans l'unité libc
  • Autre:

  • Le support
  • UPX a été supprimé:
  • Ancien comportement: Il y avait un support UPX (un exécutable exécutable) restant dans les Makefiles FPC, et les versions DOS et Windows FPC incluaient un binaire UPX.
  • Nouveau comportement: tous supprimés.

  • Raison
  • : les binaires de version n'ont pas été UPX depuis un moment. La taille des exécutables FPC est généralement insignifiante par rapport à la taille totale de l'installation, et l'utilisation de UPX occasionne parfois des ennuis mineurs (faux positifs des scanneurs de virus, pire comportement de pagination de l'OS, incompatibilités avec certaines sections exécutables, ...)
  • Solution: Téléchargez et installez UPX depuis sa page d'accueil et réévaluez en général le besoin.

Nouveautés dans la version 2.4.4:

  • Cette version contient la plupart des correctifs de la bibliothèque de début juin 2010 à mars 2011.
  • Il y a aussi des correctifs de compilateur, la plupart liés à 64 bits.

Quoi de neuf dans la version 2.4.0:

  • Ressource similaire à Delphi pour toutes les plateformes,
  • Améliorations des informations de débogage nain,
  • Plusieurs nouvelles cibles
  • Mac OS X 64 bits (x86_64 / ppc64)
  • iPhone (Mac OS X / Arm)
  • Haiku (de la famille BeOS)
  • Amélioration du support ARM EABI
  • Optimisation du programme entier
  • Beaucoup de corrections de bugs du compilateur et une demi-année de mise à jour de la bibliothèque (depuis 2.2.4)

Quoi de neuf dans la version 2.2.4:

  • Tout:
  • Outil expérimental d'installation de paquets
  • Packages:
  • Ajout de la prise en charge de la lecture / écriture TIFF dans fcl-image
  • Améliorations et correctifs dans le support CHM
  • Correction de la liaison entre le paquet gtk2 et les versions de gtk au-dessus de 2.13.4
  • IDE:
  • Ajout du support pour les fichiers d'aide CHM

Logiciel similaire

PL/1 for GCC
PL/1 for GCC

2 Jun 15

HGL Suite
HGL Suite

17 Feb 15

o42a
o42a

19 Feb 15

J
J

20 Feb 15

Commentaires à Free Pascal Compiler

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!