IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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 !

La version Community Edition de l'EDI C++ Builder a été mise à jour vers la version 13, offrant aux utilisateurs éligibles un accès gratuit à la chaîne d'outils Win64 moderne

Le , par Alex

260PARTAGES

7  0 
La Community Edition de C++ Builder a été mise à jour vers la version 13, offrant ainsi aux utilisateurs éligibles un accès gratuit à la chaîne d'outils Win64 moderne. Dans l’ensemble, la nouvelle chaîne d’outils Windows 64 bits rend le développement open source plus facile, plus prévisible et plus unifié dans l’ensemble du domaine. Les nouveaux projets Win64 Modern dans C++Builder 13 utilisent C++23 par défaut. La prise en charge de CMake via GetIt a été introduite dans C++Builder 12.2 et est reconduite dans la version 13 avec quelques améliorations. Elle est destinée aux étudiants, aux amateurs, aux indépendants et aux petites équipes qui répondent aux conditions d'octroi de licence de la Community Edition.

Embarcadero Technologies, Inc. est une société américaine spécialisée dans les logiciels informatiques qui développe, fabrique, concède sous licence et assure le support de produits et services liés aux logiciels par l'intermédiaire de plusieurs divisions produits. Fondée en 1993, elle est entrée en bourse en 2000, puis est redevenue une société privée en 2007, avant de devenir une division d'Idera, Inc. en 2015. Parmi ces produits, on peut citer : Delphi est un environnement de développement rapide d’applications (RAD) et un dialecte orienté objet du langage de programmation Pascal, dérivé de Turbo Pascal; C++Builder est l'équivalent de Delphi, mais repose sur le langage de programmation C++ plutôt que sur Pascal, en utilisant la bibliothèque de composants visuels de Delphi et un compilateur C++ natif. Embarcadero RAD Studio est une suite de développement rapide d'applications qui inclut Delphi et C++Builder pour la création d'applications natives Windows, mobiles et de bases de données.

C++Builder est un environnement de développement rapide d'applications permettant de développer des logiciels en langage C++. Développé à l'origine par Borland, il appartient depuis 2009 à Embarcadero Technologies, une filiale d'Idera. C++Builder permet de compiler des applications pour Windows (IA-32 et x64), iOS, macOS et Android (32 bits uniquement). Il comprend des outils permettant un développement visuel par glisser-déposer, ce qui facilite la programmation grâce à l'intégration d'un générateur d'interface utilisateur graphique de type WYSIWYG. C++Builder combine la bibliothèque de composants visuels (VCL) et l’EDI écrits en Object Pascal avec plusieurs compilateurs C++. Comme Delphi et le C++ utilisent le même éditeur de liens en arrière-plan, le débogueur peut passer du code Delphi au code C++ de manière transparente. De plus, les projets C++Builder peuvent inclure du code Delphi. (L'inverse n'est pas possible.)

Récemment, la Community Edition de C++ Builder a été mise à jour vers la version 13, offrant ainsi aux utilisateurs éligibles un accès gratuit à la chaîne d'outils Win64 moderne. Elle est destinée aux étudiants, aux amateurs, aux indépendants et aux petites équipes qui répondent aux conditions d'octroi de licence de la Community Edition.


Voici les principales améliorations de cette annonce :

Clang 20 comme base

RAD Studio CE met à niveau le compilateur Win64 Modern (bcc64x) de Clang 15 à Clang 20. Cela réduit considérablement l’écart avec la version en amont de LLVM. L’intégration VCL/FMX d’Embarcadero et les correctifs spécifiques à la plateforme s’appuient désormais sur un compilateur beaucoup plus proche de celui utilisé pour les tests dans l’écosystème C++ au sens large – ce qui est important lorsque vous essayez de créer une bibliothèque tierce qui suppose l’utilisation d’une version récente et standard de Clang.

Cinq versions en amont de Clang séparent la version 15 de la version 20, et l’effet cumulatif sur les diagnostics est perceptible : les messages d’erreur sont plus précis, les traces d’instanciation des modèles sont plus faciles à lire, et un éventail plus large d’avertissements est déclenché par défaut. Dans l’ensemble, la nouvelle chaîne d’outils Windows 64 bits rend le développement open source plus facile, plus prévisible et plus unifié dans l’ensemble du domaine.

Prise en charge de C++23

Les nouveaux projets Win64 Modern dans C++Builder 13 utilisent C++23 par défaut. Vous pouvez passer à C++17 ou C++20 dans les paramètres du projet. Clang 20 offre une couverture linguistique étendue de C++23 — voici les fonctionnalités ayant l’impact le plus concret :

La déduction de this vous permet d’écrire une seule fonction membre qui fonctionne à la fois pour l’accès const et non const, ainsi que pour les qualifications lvalue et rvalue :

Code : Sélectionner tout
1
2
3
4
struct Buffer {
****template <typename Self>
****auto& data(this Self&& self) { return self.m_data; }
};


Les hiérarchies CRTP qui nécessitaient auparavant static_cast<Derived&>(*this) peuvent désormais exprimer la même chose directement. Les lambdas récursifs deviennent également naturels.

[assume(expr)] offre à l’optimiseur un moyen portable de déclarer des préconditions :

Code : Sélectionner tout
1
2
3
4
5
void process(int* p, int n) {
****[[assume(n > 0)]];
****[[assume(p != nullptr)]];
****// ...
}


Contrairement à __builtin_assume, cette fonctionnalité est standard en C++23 et portable entre les compilateurs conformes.

L’extension de durée de vie dans les boucles range-for corrige un piège de comportement indéfini de longue date. Avant C++23, ce code présentait un comportement indéfini (UB) si getWidget() renvoyait un objet temporaire :

Code : Sélectionner tout
for (auto& item : getWidget().items()) { ... }


L’objet temporaire était détruit avant l’exécution du corps de la boucle. Le C++23 prolonge la durée de vie des objets temporaires créés dans l’initialiseur de plage afin de couvrir l’intégralité de la boucle — le code qui était silencieusement défectueux est désormais défini.

static operator() et static operator[] — les foncteurs sans état et les opérateurs d’indexation n’ont plus besoin d’un paramètre this implicite, ce qui permet au compilateur d’ignorer complètement cet argument pointeur inutile.

if consteval offre un moyen simple de basculer entre les chemins de compilation et d’exécution sans avoir recours à la solution de contournement if constexpr(std::is_constant_evaluated()).

LLDB 20 : mise à jour du débogueur

RAD Studio 13 adopte LLDB 20 comme backend de débogage. Les notes de version en amont de LLDB 20 mentionnent l’analyse parallèle des bibliothèques partagées — ce qui réduit considérablement les temps de connexion et de lancement sur les projets volumineux — ainsi que le placement corrigé des points d’arrêt sur les sites d’appel inline, où les versions précédentes déplaçaient silencieusement le point d’arrêt vers l’instruction réelle suivante.

CMake et bibliothèques tierces

La prise en charge de CMake via GetIt a été introduite dans C++Builder 12.2 et est reconduite dans la version 13 avec quelques améliorations. La configuration :

1. une version patchée de CMake avec un fichier de chaîne d’outils pour bcc64x ;
2. Ninja comme outil d’exécution de la compilation ;
3. une API de type fonction — set_embt_target(<target> ...) — qui prend en charge plusieurs cibles CMake dans un même projet.

C’est ici que l’on ressent le plus directement les avantages concrets de la mise à niveau vers Clang 20 : de nombreuses bibliothèques tierces qui nécessitaient auparavant des correctifs pour être compilées sous C++Builder fonctionnent désormais sans modification. Fonctionnement confirmé :

- OpenCV ;
- Google Test ;
- VTK ;

et bien d’autres encore.

Mises à jour technologiques

La nouvelle édition Community intègre les mêmes VCL et FMX que vous appréciez, avec toutes les nouvelles fonctionnalités de RAD Studio 13.

Améliorations de FireMonkey

FireMonkey est l’un des deux frameworks d’application disponibles pour les développeurs C++Builder. Les mises à jour introduites depuis C++Builder 12.1 comprennent :

- Amélioration de la synchronisation des animations et de la stabilité visuelle grâce au nouveau service Display Link ;
- Contrôle plus étendu des gestes tactiles, du comportement de défilement et des effets de rebond ;
- Transferts de bitmaps assistés par GPU pour de meilleures performances graphiques ;
- Nouveaux composants TApplicationEvents et TMaskEdit ;
- Modes d’alignement supplémentaires simplifiant le centrage précis des contrôles ;
- Fonctionnalités intégrées de vérification orthographique améliorées ;
- Intégration actualisée avec Skia4Delphi ;
- Nombreuses optimisations de performances et améliorations de la qualité.

Améliorations de la VCL pour Windows

C++Builder 13 apporte de nouvelles mises à jour au développement VCL pour les applications Windows natives, notamment :

- Prise en charge du défilement dans TActionMainMenuBar ;
- Stylisation plus flexible des barres de titre des formulaires personnalisés ;
- Une nouvelle intégration du runtime WebView2 pour TEdgeBrowser ;
- Améliorations en termes d'ergonomie et...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

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