Conception d'un Allocateur Mémoire Haute Concurrence en C++

Présentation du système d'allocation mémoire Ce projet implémente un allocateur mémoire optimisé pour environnements multithreads, inspiré de tc-mimic (Thread-Caching Malloc). Il remplace les fonctions standard malloc et free pour améliorer l'efficacité et réduire la fragmentation. Prérequis techniques Programmation C/C++ avancée Structures de ...

Publié le 27 juillet à 10h11

Gestion des blocs de contrôle multiples lors de la création de shared_ptr à partir de this en C++

La création directe d'un std::shared_ptr à partir du pointeur this au sein d'une classe peut entraîner la création de blocs de contrôle de référence distincts, manant à des suppressions multiples et à un comportement indéfini. class MaClasse { public: void partager() { std::shared_ptr<MaClasse> ptr_partage(this); // Dangereux ...

Publié le 24 juillet à 08h29

Gestion de la mémoire managée et non managée en C#

Le langage C# intègre un mécanisme de gestion automatique de la mémoire, le Garbage Collector (GC), qui alloue et désalloue la mémoire dite "managée". La majorité du temps, les développeurs C# évoluent dans cet environnement et n'ont pas à se soucier de la libération explicite des ressources. Cependant, dans certains scénarios, notamm ...

Publié le 14 juillet à 16h53

Différences et utilisation de TList et TObjectList

Unités concernées TList(Classes.pas) TObjectList(Contnrs.pas) Création d'objets TObjectList Le constructeur de TObjectList accepte un paramètre : constructor TObjectList.Create(AOwnsObjects: Boolean). Son signification est explicite : indique si la liste possède les objets qu'elle contient. Documentation officielle Si la propriété OwnsObjects e ...

Publié le 17 juin à 21h31

Gestion de la mémoire dynamique dans uCGUI

La zone du tas pour la mémoire dynamique /* Définition de l'union pour la zone du tas */ typedef union { /* Permet d'accéder au tas par blocs de 4 octets ou octet par octet */ int tableauHeap[GUI_ALLOC_SIZE / 4]; /* Assure un alignement correct */ U8 octetsHeap[GUI_ALLOC_SIZE]; } GUI_HEAP; /* Données représentant le tas */ GUI_ME ...

Publié le 14 juin à 00h09

Concevoir et implémenter un tableau dynamique en C++

La gestion des tableaux en C++ peut être délicate, surtout lorsque leur taille doit varier pendant l'exécution du programme. Bien que la bibliothèque standard offre des conteneurs comme std::vector, comprendre les mécanismes sous-jacents est fondamental pour maîtriser la programmation système et la gestion de la mémoire. Cet article explore la ...

Publié le 10 juin à 17h13