Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Free Pascal 3.2
La nouvelle version majeure du compilateur Pascal est enfin disponible !

Le , par gvasseur58

0PARTAGES

24  0 
Nous l'avions annoncée dès septembre 2019, nous l'attendions donc depuis longtemps : la version majeure 3.2 du compilateur Free Pascal est enfin disponible au téléchargement !

Pour celles et ceux qui ne le connaîtraient pas, Free Pascal est un compilateur Pascal 32, 64 et 16 bits à vocation professionnelle. Développé en open source depuis plus de vingt-sept ans par une large communauté de développeurs bénévoles très actifs, il est réputé pour sa grande stabilité, sa vitesse de compilation et un code produit très performant. Il peut cibler de nombreuses architectures de processeur : Intel x86 (y compris 8086), AMD64 / x86-64, PowerPC, PowerPC64, SPARC, ARM, AArch64, MIPS et la machine virtuelle Java. Les systèmes d'exploitation pris en charge incluent Linux, FreeBSD, Haiku, Mac OS X/iOS/iPhoneSimulator/Darwin, DOS (16 et 32 ​​bits), Windows 32, Windows 64, WinCE, OS/2, MorphOS, Nintendo GBA, Nintendo DS, Nintendo Wii, Android , AIX et AROS. De plus, la prise en charge de l'architecture Motorola 68k est disponible dans les versions de développement.

En plus des habituelles corrections de bogues et de la prise en charge de nouvelles cibles (AArch64, Linux/ppc64le, Android/x86_64 et même Windows 16 bits), Free Pascal 3.2 apporte entre autres les améliorations générales suivantes :

  • prise en compte des espaces de nommage par défaut ;
  • nombreuses améliorations concernant les tableaux dynamiques (insertion, suppression, concaténation, opérateur d'addition, constantes, initialisation des variables dès leur déclaration, constructeurs) ;
  • extension des directives $Push et $Pop pour $MinEnumSize, $PackSet et $PackRecords ;
  • section class threadvar dans les déclarations de classes et d'enregistrements ;
  • amélioration et extension des types génériques, y compris pour les routines hors des classes ;
  • nouveaux opérateurs pour la gestion des types enregistrements (Initialize, Copy, AddRef, Finalize) ;
  • extension RTTI et assistances de types pour les interfaces d'objets ;
  • nouvelles unités : rtl-generics (génériques), rtti (à titre expérimental !), ProcessUnicode (version Unicode de TProcess) ;
  • la classe TRegistry supporte totalement Unicode ;
  • le paquet CHM a été réécrit pour éliminer des bogues et améliorer ses performances.


Comme le développement de la branche 3.0 du compilateur s'est étendu sur cinq ans (!), cette nouvelle version est fortement recommandée pour les développements futurs. Il est fort probable que les EDI fondés sur ce compilateur (Lazarus, Code Typhon), vont rapidement proposer son intégration.

Pour la liste complète des modifications, c'est ici (en anglais).
Pour les changements affectant les programmes anciens, c'est ici (en anglais).
Pour le téléchargement du compilateur, c'est que ça se passe.

Source : Équipe Free Pascal

Et vous ?
Allez-vous utiliser cette version majeure de Free Pascal ?
Que pensez-vous des améliorations apportées ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Jipété
Expert éminent sénior https://www.developpez.com
Le 22/06/2020 à 17:46
Citation Envoyé par gvasseur58 Voir le message
Allez-vous utiliser cette version majeure de Free Pascal ?
Oui !
Car il se trouve que depuis la semaine dernière je suis en mode "mise en place d'un nouveau système" avec tout qui change, dont entre autres le passage à 64 bits (je croise les doigts).

Bon, je vais attendre quelques jours, histoire de laisser les principaux bugs être découverts et corrigés,

Citation Envoyé par gvasseur58 Voir le message
Que pensez-vous des améliorations apportées ?
Pas la moindre idée dans la mesure où, en général, je ne vois pas FP, étant à 100 % dans Lazarus (et ça sera l'occasion de tester la dernière : est-ce qu'on peut enfin supprimer ou à tout le moins cacher des onglets de composants ?)
2  0 
Avatar de BeanzMaster
Membre expert https://www.developpez.com
Le 24/06/2020 à 8:40
Citation Envoyé par gvasseur58 Voir le message
Allez-vous utiliser cette version majeure de Free Pascal ?
Oui et je l'utilise déja avec Lazarus 2.0.8

Citation Envoyé par gvasseur58 Voir le message
Que pensez-vous des améliorations apportées ?
Les types generic enfin mieux supportés, ainsi qu'un meilleur support pour les tableaux dynamiques, est un vrai plus
La prise en charge de la directive vectorcall sous windows, en assembleur, va encore améliorer les performances des code en asm utilisant les instructions SIMD SSE/AVX

Il n'y a pas photo comparé à la précédente version 3.0.4 le code des applications à été sérieusement optimisé. J"ai pu mesurer des différences des temps d'execution plus rapide allant jusqu"a +30% suivant les options de compilation.

A noter qu'une version de Lazarus 2.0.10 basée sur cette release de FPC 3.2 sortira entre le 4 et 11 juillet prochain. L'actuelle version 2.0.8 avec FPC 3.2 est expérimentale et à là a titre de test

Citation Envoyé par Jipété Voir le message
Oui !
Car il se trouve que depuis la semaine dernière je suis en mode "mise en place d'un nouveau système" avec tout qui change, dont entre autres le passage à 64 bits (je croise les doigts).

Bon, je vais attendre quelques jours, histoire de laisser les principaux bugs être découverts et corrigés,
Bonne nouvelle JP enfin !

Citation Envoyé par Jipété Voir le message
Pas la moindre idée dans la mesure où, en général, je ne vois pas FP, étant à 100 % dans Lazarus (et ça sera l'occasion de tester la dernière : est-ce qu'on peut enfin supprimer ou à tout le moins cacher des onglets de composants ?)
Alors oui dans Lazarus 2.0.8 tu peux cacher un onglets de composants

A+
Jérôme
2  0 
Avatar de der§en
Membre averti https://www.developpez.com
Le 30/06/2020 à 16:04
Jipété qui migre, hourra, on va sabrer le champagne

Le voila en route, vers une version 2 des travaux d'Hercules Pascalien...
0  0 
Avatar de Jipété
Expert éminent sénior https://www.developpez.com
Le 30/06/2020 à 18:22
Vous excitez pas les copains,
Citation Envoyé par BeanzMaster Voir le message
Bonne nouvelle JP enfin !
Citation Envoyé par der§en Voir le message
Jipété qui migre, hourra, on va sabrer le champagne

Le voila en route, vers une version 2 des travaux d'Hercules Pascalien...
Oh que oui...

Lecture édifiante...
Et tant que je suis face à ce mur infranchissable, le reste n'avancera pas (pas la peine de tout installer s'il faut reformatter pour installer autre chose…)
0  0