3 points par GN⁺ 2024-10-16 | 1 commentaires | Partager sur WhatsApp
  • L’édition C23 de Modern C peut être téléchargée gratuitement. Son objectif principal est d’être mise à jour en conformité avec C23, le nouveau standard du langage C.
  • Le contenu du nouveau standard y est présenté sous la forme la plus proche des documents publiés. La plupart des nouvelles fonctionnalités des principaux compilateurs sont déjà implémentées.

Principaux changements et ajouts de C23

  • Changements liés aux entiers : introduction d’un nouveau type à précision de bits, _BitInt(N), nouveau header de bibliothèque C pour la vérification des dépassements, ajout d’un header pour les manipulations de bits, possibilité de types 128 bits sur les architectures modernes, et améliorations significatives des types énumérés.
  • Nouveaux concepts : la constante nullptr et son type fondamental, des annotations syntaxiques sous forme d’attributs, davantage d’outils pour la programmation générique par type (par exemple l’inférence de type via auto et typeof), l’initialisation par défaut avec {} (y compris pour les tableaux à longueur variable), ainsi que constexpr pour les constantes nommées de tous les types.
  • Ressources supplémentaires : ajout de discussions sur les expressions composées et les lambdas, ainsi que sur une approche globale des échecs de programme appelée « internationalisation ». Des headers d’inclusion temporaires et des annexes ont aussi été ajoutés pour faciliter la transition vers C23 sur les plateformes existantes.

Résumé de GN⁺

  • L’édition C23 de Modern C a été mise à jour pour refléter le nouveau standard du langage C, et de nombreuses fonctionnalités sont déjà implémentées dans les principaux compilateurs.
  • C23 apporte des améliorations importantes autour des types entiers, de la programmation générique par type et de l’initialisation par défaut.
  • Cette édition est utile pour comprendre et exploiter le standard le plus récent du langage C, en particulier pour les développeurs qui souhaitent adopter rapidement ses nouvelles fonctionnalités.
  • Parmi les autres langages offrant des fonctionnalités similaires à C23, on peut citer les standards récents de C++.

1 commentaires

 
GN⁺ 2024-10-16
Avis Hacker News
  • La prise en charge a commencé avec GCC 11, qui est disponible sur Ubuntu 22.04. Il semble aussi possible de vérifier la prise en charge de C26
  • Le C et le C++ sont différents, et il y a un conseil important : ne pas les mélanger
  • Je cherchais une liste de livres sur le C, puis j’ai trouvé ma propre réponse. Modern C est classé comme intermédiaire
  • Dans Aperçu sur macOS, la table des matières de la barre latérale ne fonctionne pas correctement
  • Je cherche un article qui explique pourquoi le C est resté en pratique bloqué à C99. Il est dit qu’il existe très peu de projets qui exploitent les fonctionnalités de C11 ou au-delà
  • Heureux de voir que la mascotte dinosaure est toujours là. Je pense que c’est un bon livre
  • J’attends #embed avec impatience quand les compilateurs auront rattrapé leur retard. En attendant, j’utilise Golang
  • Je trouve qu’il y a trop d’attributs comme [[unsequenced]], [[maybe_unused]], [[noreturn]] tout au long du livre. J’ai l’impression que l’auteur a abusé de fonctionnalités optionnelles en les mettant dans tous les exemples de code
  • Je voudrais des champs de bits portables, entièrement explicites et bien définis
  • C’est l’un de mes livres préférés