E.T. téléphone Meson

68
7
oct.
2018
C et C++

Meson est une technologie récente de la catégorie des systèmes de configuration et de gestion de la compilation de projets, à l’instar d’Autotools et de CMake. Nous proposons dans cette dépêche un tour de Meson, avec une explication des technologies en jeu, puis des comparaisons et quelques tests de rapidité et performance. En aucun cas nous ne tomberons dans le cassage des autres technologies et nous essaierons de comparer de manière la plus neutre possible.

Meson a été initié par Jussi Pakkanen en 2013. Frustré par Autotools, insatisfait par CMake, il a décidé de s’attaquer au problème et défini les buts à atteindre. Meson est le fruit de son travail, aidé de la communauté de contributeurs qui s’est formée.

Bien entendu, nous ne sommes pas omniscients et attendons des commentaires pertinents des lecteurs de LinuxFr.org pour corriger toute erreur, dans la joie et la bonne humeur.

Profileurs mémoire MALT et NUMAPROF

Posté par (page perso) . Édité par Pierre Jarillon, Davy Defaud, palm123 et Xavier Claude. Modéré par Pierre Jarillon. Licence CC by-sa.
Tags :
48
2
sept.
2018
C et C++

Outils de profilage

En calcul à haute performance — HPC (High Performance Computing) —, les problèmes liés à la mémoire deviennent de plus en plus critiques, qu’il s’agisse du contrôle de la consommation mémoire des applications, de la limitation des interactions avec le système d’exploitation (trop nombreuses allocations, trop petites allocations…) et de choix de placement (NUMA) ; et relativement peu d’outils libres permettent de profiler les applications sur ce terrain. Deux outils récemment mis en ligne apportent une part de réponse à ces questions.

La suite de l’article présentera MALT et NUMAPROF plus en détails…

Faut‐il continuer à apprendre le C++ ?

58
27
juil.
2018
C et C++

Le C++ est un langage qui a vu ses spécifications s’amonceler et se stratifier au cours des années. Il est encore très utilisé. Mais face à des concurrents comme Rust ou Go, quelle est sa place dans un environnement qui évolue ?

Cette dépêche qui a nécessité beaucoup de discussions, aura, vous le verrez, une forme un peu particulière.

vcpkg, un gestionnaire de bibliothèque pour C++

Posté par . Édité par Davy Defaud, Nÿco et Benoît Sibaud. Modéré par Trollnad Dump. Licence CC by-sa.
21
25
avr.
2018
C et C++

Depuis 2016, Microsoft développe vcpkg, un outil bien sympathique qui permet de télécharger et compiler un ensemble de bibliothèques et leurs dépendances. Jusqu’à présent, cet outil était disponible uniquement pour la plate‐forme Windows. Depuis le 24 avril 2018, cet outil prend également en charge les plates‐formes GNU/Linux et macOS. vcpkg est publié sous licence MIT.

Une limite cependant est que la compilation des bibliothèques sur GNU/Linux est uniquement statique. La raison invoquée est qu’il est plus compliqué d’utiliser des bibliothèques sur GNU/Linux (LD_LIBRARY_PATH, rpath, etc.) que sous Windows, où l’on peut tout mettre dans un seul répertoire.

Quoi qu’il en soit, c’est une bonne nouvelle. Même si les paquets des distributions resteront une source privilégiée pour obtenir les fichiers de développement d’une bibliothèque, vcpkg offre une alternative intéressante pour ceux qui voudraient tout construire en statique de manière à fournir un seul binaire pour toutes les variantes de GNU/Linux.

C++17 libère size(), data() et empty()

Posté par (page perso) . Édité par David Marec, Benoît Sibaud, Oliver H, Davy Defaud, palm123, gbdivers, whity, kp, audionuma et Xavier Claude. Modéré par Davy Defaud. Licence CC by-sa.
Tags :
36
17
mar.
2018
C et C++

Cette évolution est dans la continuité de la libération de begin() et end() en C++11. Ces trois nouvelles fonctions, size(), data() et empty(), avaient été oubliées lors des deux dernières évolutions. Le C++17 corrige le tir.

Tout d’abord, nous allons revenir sur les raisons de cette évolution. Puis, nous détaillerons ce qu’apporte chacune de ces trois fonctions. Et, pour conclure, nous verrons comment on va pouvoir les utiliser.

Les fonctions empty(), data() et size() sortent de la prison « class » et rejoignent les fonctions begin() et end() qui les accueillent. Ces deux dernières fonctions accueillent également string_view. Derrières les barreaux de la prison des spécifications techniques, Unified-Call-Syntax va devoir y rester trois ans pour tenter de sortir avec C++20

Sortie de gfast-copy et de fast-copy sur www.open-source-projects.net

11
28
oct.
2017
C et C++

Icône de gfast-copy

Copier un unique (gros) fichier d’une source vers une destination donnée n’est pas une tâche pour laquelle les systèmes sont toujours optimisés.

Selon la philosophie UNIX, un programme doit accomplir une unique tâche précise et l’accomplir du mieux possible. C’est ce qui a donné naissance à gfast-copy et à fast-copy. Ces programmes font une chose banale mais le font bien.

Sortie d'it-edit version 3.0

18
3
juin
2017
C et C++

La version 3.0 de l'éditeur it-edit (Integrated Terminals Editor) est disponible.

La principale amélioration de cette nouvelle version est l'intégration optionnelle de la correction orthographique à l'aide de la bibliothèque de Sébastien Wilmet (mainteneur de gtk-sourceview3 - sur laquelle se base it-edit - et auteur de Texilla entre autres) gspell-1.

Mais c'est loin d'être le seul changement dans le code d'it-edit, et pas le seul ajout non plus.

Capture d'écran

Il s'agit de la 4e version majeure d'it-edit, et vous pouvez en voir une description plus détaillée dans l'annonce de la version 1.0.1.

Outils utiles pour développeur

58
3
mar.
2017
C et C++

Le but de cette dépêche est de recenser quelques outils utiles pour les développeurs (pas uniquement C et C++) et de donner accès à des ressources intéressantes pour leur prise en main.

Tout d’abord comment définit‐on un « outil utile » ? Ce sont des logiciels (libres, c’est mieux) qu’il n’est pas obligatoire d’utiliser mais qui permettent de gagner en productivité (ou de moins se prendre la tête avec un bogue). Ces outils sont utilisables indépendamment, mais utilisés ensemble peuvent former un tout qui donne les fonctionnalités d’un environnement de développement intégré.

Il est fort probable que pour certains cette dépêche vienne enfoncer des portes ouvertes. Mais pensez aux nouveaux pour qui elle sera, peut‐être, profitable.

C++17 garantit le court-circuit de copie (suite de la précédente dépêche)

Posté par . Édité par Oliver H, Davy Defaud, David Marec, Snark, Benoît Sibaud et lmg HS. Modéré par Trollnad Dump. Licence CC by-sa.
Tags :
27
13
déc.
2016
C et C++

Le calendrier de l’Avent du C++ continue son bonhome de chemin. Chaque jour, ou presque, une nouvelle surprise est offerte aux lecteurs de LinuxFr.org. La dépêche sur l’élision de la copie nous a mis l’eau à la bouche :

Comment résoudre le dilemme entre cette optimisation et le fait de ne pas pouvoir en bénéficier dans un code portable ?

Alors, entrons dans les entrailles de la spécification technique P0135 guidés par cette dépêche pédagogique, et découvrons comment le C++ s’améliore de version en version.

Une fille nerd s’électrocute en touchant la nouvelle tour C++17 de sa voisine avec garantie de court-circuit de copie

C++ se court-circuite le constructeur de copie

Posté par . Édité par Oliver H, Davy Defaud, lmg HS, gbdivers, gipoisson, Benoît Sibaud, palm123 et Storm. Modéré par Trollnad Dump. Licence CC by-sa.
Tags :
37
11
déc.
2016
C et C++

Le calendrier de l’Avent du C++ continue. Après quelques trous dans le calendrier, aujourd’hui une nouvelle surprise : le court-circuit du constructeur de copie.

Cette fonctionnalité est présente dans le C++ depuis la nuit des temps et pourtant peu connue, alors que ses effets de bords peuvent être redoutables. Cette dépêche très pédagogique explique tous les détails d’une optimisation ultime.

Une nerd s’électrocute en touchant la vieille tour C++ de sa voisine à cause des effets de bords du court-circuit du constructeur de copie (C++98 copy elision)

C++17 exprime la virgule flottante en hexadécimal et offre des cadeaux aux lecteurs de LinuxFr.org

Posté par . Édité par Davy Defaud, Oliver H, ZeroHeure et Storm. Modéré par Benoît Sibaud. Licence CC by-sa.
Tags :
29
7
déc.
2016
C et C++

Chaque jour (ouvré) de décembre a droit à sa surprise. Après le if constexpr, aujourd’hui, le calendrier de l’Avent du C++ présente la spécification technique P0245 concernant le littéral pour exprimer la virgule flottante en hexadécimal.

Les Nerdettes s’entraînent pour le concours des littéraux hexadécimaux sur LinuxFr.org

C++17 branche à la compilation (`if constexpr`)

Posté par . Édité par Oliver H, Davy Defaud, Benoît Sibaud et Xavier Claude. Modéré par Benoît Sibaud. Licence CC by-sa.
Tags :
27
5
déc.
2016
C et C++

Chaque jour de décembre a droit à sa surprise. Après la fixation de l’ordre d’évaluation des expressions, aujourd’hui, le calendrier de l’Avent du C++ présente la spécification technique P0292 concernant les conditions à la compilation, grâce à if constexpr.

Logo C++FRUG représenté par un gros "C++" au centre du cercle de la Francophonie

C++17 indique la disponibilité des en‐têtes (header)

Posté par . Édité par Davy Defaud, Benoît Sibaud, ZeroHeure, Xavier Claude, Bruno Michel et Nils Ratusznik. Modéré par Trollnad Dump. Licence CC by-sa.
Tags :
37
2
déc.
2016
C et C++

Chaque jour de décembre a droit à sa surprise. Après l'ordre d'évaluation, aujourd'hui, le calendrier de l’Avent du C++ présente la Spécification Technique P0061 concernant une macro magique : #define __has_include.

Une personne déprime de ne plus rien comprendre au C++ et son collègue le rassure que LinuxFr.org publie le calendrier de l'Avent du C++ avec des explications pédagogiques

C++17 fixe l’ordre d’évaluation des expressions

Posté par . Édité par Oliver H, Davy Defaud, Benoît Sibaud et palm123. Modéré par Xavier Claude. Licence CC by-sa.
Tags :
55
1
déc.
2016
C et C++

Le C++ est un langage bien présent et depuis longtemps dans les logiciels libres (environnements de bureau, outils bureautiques, navigateurs Web…). L’an 2017 approche à grands pas avec la promesse d’un tout nouveau C++17.

Pour finir l’année, voici le calendrier de l’Avent du C++ avec des dépêches pédagogiques sur ce qui nous attend en 2017. Après deux dépêches de mise‐en‐bouche, nous entrons enfin dans le vif du sujet avec deux spécifications techniques concernant l’ordre d’évaluation des expressions. Allez, c’est parti !   ᕕ(ᐛ)ᕗ

Bjarne propose de changer le C++ pour corriger son livre qu'il tient dans ses mains

C++17, Genèse d’une version mineure

61
2
oct.
2016
C et C++

La série de dépêches C++ continue. Cette seconde dépêche nous amène dans les réunions du comité de standardisation en vue de publier la prochaine version C++17 et nous permettra de vérifier ce titre provocateur (comment ça mineure ?). Cette dépêche peut intéresser tous les lecteurs de LinuxFr.org, pas seulement les développeurs. Les prochaines dépêches seront plus techniques.

Deux collègues discutent : « C++ est enfin sorti », « Trop top », « Va falloir se palucher les 1700 pages du nouveau standard », « Gloups ». Une note repositionnable sur le dessin indique : « Il y en a qui ne connaissent pas encore LinuxFr.org »

Les coulisses du standard C++

99
20
août
2016
C et C++

Le C++ a bientôt la quarantaine et pourtant très actif en ce moment avec la finalisation de la prochaine version C++17. Profitons‐en pour faire le point avec une série d’articles sur le C++. Cette première dépêche nous dévoile la face cachée du C++, et donc peut intéresser tous les lecteurs LinuxFr.org. :-)

Évolution du langage C++

Douzième rencontre parisienne C++ mercredi 27 avril 2016

Posté par (page perso) . Édité par Benoît Sibaud, ZeroHeure et Trollnad Dump. Modéré par Trollnad Dump. Licence CC by-sa.
16
24
avr.
2016
C et C++

L'association C++FRUG organise la douzième rencontre parisienne C++ Francophone avec pour nom de code : decltype(new event).

Horaires Programme
19:00 Accueil
19:30 Présentations éclairs (Lightning talks)
20:00 Pause dinatoire, pizzas et bières offertes par Mobiskill Partner
20:30 Révolution des <algorithme> en C++17
21:15 Informations générales et fin de la rencontre

Onzième rencontre C++ francophone jeudi 31 mars 2016 à Paris

Posté par (page perso) . Édité par Nils Ratusznik, Xavier Teyssier, eggman, Benoît Sibaud et palm123. Modéré par Benoît Sibaud. Licence CC by-sa.
13
16
mar.
2016
C et C++

Le C++ FRUG vous convie à leur onzième rencontre francophone. Cette édition a pour nom std::move(meetup) car elle se tient à l'école 42.

Informations pratiques :

Le programme :

  • de 19:00 à 19:30 : accueil ;
  • de 19:30 à 20:15 : fonction passée en argument template, par Martin Morterol (LRI) ;
  • de 20:15 à 21:00 : pause dinatoire, pizzas et bières gratos ;
  • de 21:00 à 21:45 : système de fichiers dans les nuages, par Quentin Hocquet (Infinit).

IT-Edit 2.0, un éditeur de texte avec terminaux intégrés

31
15
mar.
2016
C et C++

IT-Edit (Integrated Terminals Editor) est disponible en version 2.0. Cette nouvelle version apporte de nombreuses améliorations par rapport à la 1.0.1. Il s'agit d'un éditeur de texte doté de multiples fonctionnalités. Il est écrit en C et utilise GTK+3, gtksourceview3.0, ainsi que libvte-2.90.

logo du logiciel IT-Edit

IT-Edit gère la coloration syntaxique de nombreux langages de programmation. Il intègre des terminaux bien placés, de façon à ne pas perdre de vue la ligne de commande pendant l'écriture de code.

Bibliothèque de génération et de manipulation de formes libsdl2_gfxutils

Posté par (page perso) . Édité par Trollnad Dump, Benoît Sibaud et palm123. Modéré par patrick_g. Licence CC by-sa.
16
1
fév.
2016
C et C++

J'annonce de part ce présent message, la réécriture de la bibliothèque de génération et de manipulation de formes libSDL2_gfxutils. Elle est publiée sous GPLv3.

Dixième rencontre C++ Francophone jeudi 21 janvier 2016 (Paris, Châtelet Les Halles)

Posté par (page perso) . Édité par palm123, Xavier Claude, ZeroHeure et Benoît Sibaud. Modéré par Pierre Jarillon. Licence CC by-sa.
Tags :
9
17
jan.
2016
C et C++

Joël Falcou organise depuis 2013 les rencontres du Groupe des Utilisateurs C++ Francophone (abrégé C++ FRUG d'après la traduction en anglais).

La dixième édition import <new_blood> est pour très bientôt

  • ce jeudi 21 janvier 2016 de 19h à 22h
  • au 43 Rue Beaubourg, Paris (Mobiskill Partner)

Le programme

  • 19:30 - 20:15 : PrOgO, animation 3D pour l’apprentissage de la Programmation Orientée-Objet par Fahima Djelil (Université Blaise Pascal Clermont-Ferrand)
  • 20h15 - 21h00 : Pause dînatoire, pizzas et bières offertes par Mobiskill Partner
  • 21h00 - 21h45 : Question Pour Un Champion++, Venez vous creusez la tête en participant à un petit Quizz C++11/14 en live.

Publication d'evQueue sous licence libre

Posté par . Édité par ZeroHeure. Modéré par Trollnad Dump. Licence CC by-sa.
33
18
mar.
2015
C et C++

EvQueue est un ordonnanceur de tâches et un moteur de queueing libre. Il permet la planification de tâches simples mais aussi la gestion de workflows, enchaînements de briques logicielles de base dans un but plus avancé. La description des enchaînements de tâches est basée sur XML et XPath, reprenant ainsi des briques très standardisées pour la structure des workflows.

Le moteur d'evQueue est écrit en C++ en mode événementiel, il se démarque ainsi de certains ordonnanceurs par sa légèreté et sa rapidité. L'interface de pilotage Web est quant à elle développée en PHP. Elle permet le suivi des tâches et workflows en cours, la création de workflow notamment en mode graphique, et la planification de tâches.

En plus de l'interface de pilotage Web, evQueue propose une API réseau permettant son contrôle à distance (lancement de tâches, suivi des tâches en exécution…). L'exécution de traitements lourds est en effet une problématique récurrente des systèmes Web où les clients sont en mode asynchrone. L'utilisation d'evQueue résout cette problématique, assurant un suivi simple à mettre en place en AJAX côté utilisateur et une excellente visibilité pour les administrateurs systèmes.

Une documentation sur l'installation et l'utilisation d'evQueue, ainsi que des exemples de workflows sont disponibles sur le site d'evQueue.

EvQueue est développé et maintenu par l'équipe informatique de l'UFC-Que Choisir. Il est publié sous licence libre depuis mars 2015 (GPL 3). Il est utilisé pour les besoins informatiques de l'association depuis presque trois ans ; à ce jour, plus de quatre millions de workflows ont été lancés.

BellePoule - Gestion de compétitions d'escrime

Posté par (page perso) . Édité par BAud, Nils Ratusznik, palm123, Xavier Claude, yPhil, Bruno Michel et ZeroHeure. Modéré par ZeroHeure. Licence CC by-sa.
47
15
mai
2014
C et C++

S'il est un sport dont la gestion des compétitions ne peut se passer de l'outil informatique, c'est bien l'escrime :

Un événement typique rassemblant 140 tireurs engendrera, rien que pour le tour de poules, 1029 opérations mathématiques élémentaires (additions, soustractions, divisions) pour calculer un classement tenant compte du ratio victoires/défaites, des touches données et des touches reçues.

Titre de l'image

Petite difficulté supplémentaire, un match d'escrime est extrêmement rapide et n’excédera jamais plus de 3 minutes en poule. Ce petit millier d'opérations se doit donc d'être réalisé dans les plus brefs délais.

Les solutions logicielles répondant à ce besoin se comptent sur les doigts d'une main. Elle sont toutes fermées, à l'exclusion du système BellePoule dont le code source est publié sous licence GPLv3. C'est également la seule à offrir la dématérialisation des échanges avec les arbitres, par le biais d'un système de feuilles de match électroniques.