Vous trouverez ici des exemples et des projets entiers, parfois même des groupes de projets (typiquement pour mes cours de systèmes répartis comme ceux touchant le parallélisme ou ceux qui exploitent l'approche client/ serveur). Les explications associées à ces exemples sont offertes dans les divers cours qui les utilisent; la présente page, elle, se contente de rendre disponibles les exemples, pas de les situer.
Remarquez la colonne indiquant la version de l'IDE utilisé pour le ou les projets et celle indiquant la date de plus récente mise à jour. Certains exemples sont récents alors que d'autres sont assez vieux. La qualité des exemples peut donc varier beaucoup.
Description | Mise à jour | Lien | Technologies | IDE |
---|---|---|---|---|
Comparatif de boucles à rythme régulier et à rythme constant |
2022/01/09 |
s/o |
||
Comparatif d'opérations bloquante et non-bloquante |
2022/01/09 |
s/o |
||
Générer des paires d'équipes anonymes |
2020/11/08 |
s/o |
||
2020/11/02 |
s/o |
|||
Compression RLE naïve |
2020/10/29 |
s/o |
||
Service REST en JavaScript, sans cadriciel |
2020/08/18 |
s/o |
||
Implémentation relativement complète de lexical_cast |
2020/07/06 |
s/o |
||
Exemple d'implémentation d'une Skip List |
2020/03/24 |
s/o |
||
Exemple d'allocation assistée, pour placer des objets alloués dynamiquement en mémoire partagée entre plusieurs processus |
2020/02/22 |
Microsoft Windows (il faut adapter aux diverses plateformes) |
s/o |
|
Ébauche de pointeur intelligent avec sémantique de duplication, le tout par politiques |
2020/02/08 |
s/o |
||
Comparatifs de « performances » entre un tableau brut alloué dynamiquement et un vecteur standard |
2020/01/05 |
s/o |
||
Test comparatif d'insertions dans divers conteneurs (avec push_back()) |
2020/01/05 |
s/o |
||
Test comparatif d'insertions dans divers conteneurs (avec insert()) |
2020/01/05 |
s/o |
||
Test comparatif de tris dans divers conteneurs |
2020/01/05 |
s/o |
||
Test comparatif de cumul (manuel) de valeurs dans divers conteneurs |
2020/01/05 |
s/o |
||
Test comparatif de cumul (avec variable globale) de valeurs dans divers conteneurs |
2020/01/05 |
s/o |
||
Test comparatif de cumul (avec variable cumulative suppléée par référence) de valeurs dans divers conteneurs |
2020/01/05 |
s/o |
||
Test comparatif de cumul (avec foncteur simple) de valeurs dans divers conteneurs |
2020/01/05 |
s/o |
||
Test comparatif de comptabilité d'éléments pour lesquels un critère s'avère (manuel, algorithme standard) |
2020/01/05 |
s/o |
||
Test comparatif de recherche d'éléments pour lesquels un critère s'avère (manuel, algorithme standard) |
2020/01/05 |
s/o |
||
Test comparatif de recherche d'élément (manuel, algorithme standard) |
2020/01/05 |
s/o |
||
Test comparatif de calculs polymorphiques et génériques |
2020/01/05 |
s/o |
||
Diverses stratégies architecturales pour implémenter une stratégie de croissance de tableau dynamique |
2019/10/14 |
Pour les approches individuelles : |
s/o |
|
Exemple de multiméthodes |
2019/06/25 |
s/o |
||
Illustration de Duff's Device à l'aide du calcul d'une factorielle. |
2019/06/23 |
s/o |
||
Esquisse d'un exécutif, pouvant être utile dans un STR |
2019/03/25 |
Visual Studio 2017 |
||
Exemple d'implémentation d'un serveur d'entrées/ sorties non-bloquant. |
2019/03/25 |
s/o |
||
Exemple de détection des fuites de mémoire par surcharge de quelques versions des opérateurs new et delete |
2019/02/11 |
s/o |
||
Test comparatif de « performances » entre utilisation de fonctions et de foncteurs |
2019/01/07 |
s/o |
||
Exemple d'aréna de capacité fixe |
2018/11/01 |
s/o |
||
Exemple d'implémentation d'un allocateur utilisant une aréna d'objets de taille fixe. |
2018/11/01 |
s/o |
||
Exemple détaillé de surcharge des opérateurs d'allocation et de libération dynamique de mémoire, avec infrastructure de test |
2018/11/01 |
s/o |
||
2018/10/24 |
Visual Studio 2017 |
|||
SCS, client et serveur COM, contexte interne, avant refactorisation |
2023/09/27 |
Visual Studio 2022 |
||
SCS, client et serveur COM, contexte interne, après refactorisation |
2018/10/06 |
Visual Studio 2017 |
||
Exemples d'implémentation de l'idiome pImpl |
2018/09/16 |
s/o |
||
Exemple comparatif d'implémentations d'une liste simplement chaînée d'entiers dans divers langages |
2018/09/07 |
s/o |
||
Exemple comparatif d'implémentations d'une liste simplement chaînée générique dans divers langages |
2018/09/07 |
s/o |
||
Programme de compression RLE de fichiers bitmaps, version s'un seul tenant. Rapide, mais pas un STR. |
2018/03/19 |
Visual Studio 2017 |
||
Programme de compression RLE de fichiers bitmaps, version plus raffinée que la précédente et, en particulier, morcelable, susceptible d'être intégrée à un STR. |
2018/03/19 |
Visual Studio 2017 |
||
Exemple de sockets de type flux, exemple très simple (beaucoup trop simple pour du code réel). Surtout utile pour s'acclimater à la syntaxe |
2018/01/22 |
C++, sockets |
Visual Studio 2017 |
|
Exemple de détection des fuites de mémoire par surcharge de quelques versions des opérateurs new et delete en appliquant le schéma de conception Observateur |
2017/10/31 |
s/o |
||
2017/08/28 |
s/o |
|||
Chaîne pascal se rapprochant des idiomes C++ (avec itérateurs) |
2017/08/27 |
s/o |
||
Ordonnanceur statique de tâches qui, dans une optique de résilience, vise à ne pouvoir être compilé que s'il peut rencontrer les contraintes imposées pas les tâches qui lui sont soumises (attention : projet expérimental!) |
2017/03/20 |
Visual Studio 2017 |
||
Serveur d'écho « enrobé » à travers UDP |
2016/01/21 |
C++, sockets |
Visual Studio 2015 |
|
Client pour un serveur d'écho « enrobé » à travers UDP |
2016/01/21 |
C++, sockets |
Visual Studio 2015 |
|
Listes doublement chaînées avec noeuds sentinelles |
2015/11/02 |
s/o |
||
Exemple de métaprogrammation statique |
2015/03/20 |
s/o |
||
Exemple fait d'un ensemble de fichiers implémentant la technique décrite dans l'article sur l'ordonnancement de singletons statiques |
2015/03/16 |
Visual Studio 2015 |
||
Implémentation complète d'un système client/ serveur d'écho par sockets, mais de manière contemporaine. Ce projet est susceptible de vous intéresser si vous souhaitez utiliser des sockets de type flux en C++. Portez attention au programme principal pour voir comment profiter des outils qui y sont proposés. |
2014/11/10 |
Visual Studio 2014 |
||
Exemple de calcul générique de l'écart type |
2014/04/26 |
s/o |
||
Exemple de calcul générique de la moyenne |
2014/04/26 |
s/o |
||
Exemple d'un petit type uplet maison |
2014/03/27 |
s/o |
||
Exemple d'implémentation de délégué pour opérations unaires. Version reposant sur l'allocation positionnelle. |
2014/02/06 |
s/o |
||
Exemple d'implémentation de délégué pour opérations unaires. Version reposant sur l'allocation dynamique de mémoire. |
2014/02/06 |
s/o |
||
Exemple comparatif de manipulation de fonctions dans divers langages |
2013/10/28 |
C#, C++, Java, JavaScript |
s/o |
|
Exemple comparatif d'implémentations de fonctions variadiques dans divers langages |
2013/10/09 |
s/o |
||
Exemple de pipeline générique |
2013/06/21 |
s/o |
||
Pile générique (capacité dynamique) |
2013/05/02 |
s/o |
||
Pile générique (capacité fixe) |
2013/05/02 |
s/o |
||
Pile d'entiers |
2013/05/02 |
s/o |
||
Entrées/ sorties sur des fichiers texte |
2013/04/25 |
s/o |
||
Échange de données entre deux threads par zone de transit synchronisée par mutex |
2013/03/28 |
s/o |
||
Exemple simple de génération de données avec et sans bruit |
2012/12/04 |
s/o |
||
Exemple simple de génération de données avec et sans bruit |
2012/12/04 |
s/o |
||
Implémentations simples de pile générique dont la capacité est déterminée à la compilation. Inclut une implémentation qui choisit, à la compilation, son implémentation sous-jacente. |
2011/09/14 |
s/o |
||
Implémentation simple de pile générique dont la capacité est déterminée de manière dynamique. |
2011/09/14 |
s/o |
||
Raffinement plus poussé de sliste, liste générique simplement chaînée |
2011/09/10 |
s/o |
||
Raffinement plus poussé de sliste, liste générique simplement chaînée |
2011/09/10 |
s/o |
||
Raffinement plus poussé de sliste, liste générique simplement chaînée |
2011/09/10 |
s/o |
||
Complément d'information sur les pointeurs de fonctions |
2011/07/14 |
s/o |
||
Exemple de regroupement de threads et de futures |
2011/02/21 |
s/o |
||
Serveur de clavardage multiclients |
2011/01/15 |
C++, sockets |
Visual Studio 2008 |
|
Client de clavardage |
2011/01/15 |
C++, sockets |
Visual Studio 2008 |
|
Un exemple d'équivalent statique de std::accumulate() |
2010/12/01 |
s/o |
||
Quelques exemples de métaprogrammation appliquée |
2010/11/29 |
s/o |
||
2010/10/28 |
Visual Studio 2008 |
|||
SCS, client et serveur COM, contexte externe, fait pour identifier un bogue dans un exécutable distant |
2010/09/13 |
Visual Studio 2008 |
||
2010/09/13 |
Visual Studio 2008 |
|||
Code serveur pour sockets de type flux, reposant sur une bibliothèque maison, avec support pour la généricité (perfectible, en utilisant des traits à certains endroits) |
2010/09/12 |
C++, sockets |
Visual Studio 2008 |
|
Bibliothèque maison pour sockets de type flux, avec support pour la généricité (perfectible, en utilisant des traits à certains endroits) |
2010/09/12 |
C++, sockets |
Visual Studio 2008 |
|
Code client pour sockets de type flux, reposant sur une bibliothèque maison, avec support pour la généricité (perfectible, en utilisant des traits à certains endroits) |
2010/09/12 |
C++, sockets |
Visual Studio 2008 |
|
Démonstrateur de l'approche multiprogrammée Map/ Reduce, à l'aide d'un Thread Pool et de programmation par promesses (mieux connues sous le nom de futures), implémentation maison |
2010/03/05 |
Visual Studio 2008 |
||
Un entier encapsulé de manière à ce qu'on puisse essentiellement itérer sur ses bits (un exercice de style) |
2008/07/10 |
Visual Studio 2008 |
||
Code d'accès au registre pour inscription des serveurs COM. Prudence : le code des serveurs plus récents (plus haut) est peut-être plus à jour |
2008/02/13 |
Visual Studio 2008 |
D'autres suivront quand j'aurai quelques minutes...