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 !

GDB, le débogueur standard du projet GNU continue sa mue en C++11, abandonnant C90,
Voici un petit état des lieux

Le , par Victor Vincent

569PARTAGES

9  0 
L’année passée, le code de GNU Debugger (GDB) avait été converti. L’équipe de développement de GDB avait fait le choix de passer du langage C vers C++11. Cette conversion avait été justifiée à l’époque par le besoin de rendre le code du débogueur plus robuste, plus facilement maintenable, mais aussi par un besoin de casser la barrière que peut constituer le langage C pour les nouveaux développeurs désireux de rejoindre l’équipe de développement de GDB.

À l’heure actuelle, la branche master de GDB requiert par défaut le compilateur C++11. La possibilité de revenir vers un compilateur C ayant été purement et simplement supprimée. Pour l’équipe de GDB, le choix de migrer vers du C++ est une bonne chose étant donné que ce langage est standardisé, bien connu et populaire notamment auprès des nouveaux développeurs. Il permet de produire un code plus propre dans bien des cas et par conséquent du code plus compréhensible et plus facilement modifiable.

L’équipe de développement de GDB ne compte pas s’arrêter en si bon chemin et déclare son souhait de traduire tout le code source du dépôt src/gdb en C++, y compris GDBServer. À l’état actuel de la progression de ce travail de conversion, il est aujourd’hui possible de compiler GDB avec les compilateurs C++ standard des différents systèmes supportés. Il s’agit par exemple de GCC 4.2.1 pour OpenBSD, ce qui signifie que seules les fonctionnalités de C++98/03 pourront être utilisées. Il faut noter aussi qu’il reste possible de compiler GDB avec des architectures logicielles plus anciennes disposant d’une mémoire plus réduite.

Source : GDB Wiki

Et vous ?

Que pensez-vous du passage de GDB à C++ ?

Voir aussi

C++ aujourd’hui est-il comme Fortran ? Aurait-il a atteint ses limites ? Un ingénieur explique pourquoi il ne s'adonne plus beaucoup au C++ moderne

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

Avatar de koala01
Expert éminent sénior https://www.developpez.com
Le 14/10/2017 à 9:58
Salut,

Perso, je trouve que c'est une excellente chose :

S'il est possible -- pour ceux qui maitrisent C -- de créer du code robuste, il faut à ce point se concentrer sur les détails pour y arriver que même les meilleurs développeurs C peuvent laisser passer un problème.

C++ (et surtout C++11 et ultérieur) fournit des abstractions qui permettent de gérer ces détails de manière robuste, et donc de se focaliser sur le but premier de l'application tout en améliorant la robustesse du code.

Enfin, j'ai beau connaître C et être en mesure de coder correctement avec ce langage, je suis très loin d'atteindre le niveau de maitrise dont je fais preuve en C++.

Notez que, s'il y avait un langage qui offre les même caractéristiques de puissance, qui n'ait pas besoin d'une machine virtuelle quelconque pour fonctionner, mais qui permettrait l'écriture de code plus robuste encore, je signerais des deux mains pour qu'il soit utilisé pour les outils comme le compilateur et le débuggeur.

Car, finalement, ce sont deux outils absolument primordiaux, auxquels on doit pouvoir se fier à 100% : Il y a déjà largement assez de circonstances dans lesquelles on a affaire à un comportement indéfini ou à un comportement "défini par l'implémentation" que pour vouloir faire en sorte que toutes les autres circonstances soient impeccablement prise en compte.
4  0 
Avatar de oodini
Membre émérite https://www.developpez.com
Le 21/10/2017 à 1:12
Citation Envoyé par koala01 Voir le message
Notez que, s'il y avait un langage qui offre les même caractéristiques de puissance, qui n'ait pas besoin d'une machine virtuelle quelconque pour fonctionner, mais qui permettrait l'écriture de code plus robuste encore, je signerais des deux mains pour qu'il soit utilisé pour les outils comme le compilateur et le débuggeur.
D ?
1  0