Une bibliothèque de remplacement minimale pour borlndmm.dll qui enveloppe l'allocateur de tas Windows natif. Il serait simple d'adapter cette bibliothèque pour utiliser un back-end d'allocateur différent tel que jemalloc, tcmalloc ou mimalloc.
Les versions de débogage peuvent définir POISON_HEAP_USER_DATA afin de mémoriser les blocs de mémoire nouvellement alloués ou libérés avec des octets non NULL, ce qui peut aider à identifier une variable non initialisée ou à l'utiliser après une émission gratuite. Des outils tels que WinDbg peuvent activer des fonctionnalités de débogage de tas supplémentaires pour les tas natifs, telles que les traces de pile utilisateur, et la commande WinDbg !heap peut interroger les allocations. Cela peut être bénéfique pour résoudre les problèmes d’allocation de mémoire. Pour en bénéficier, vous devez convertir vos fichiers cartographiques en fichiers dbg via map2dbg afin que WinDbg vous donne les symboles corrects.
Les versions de version bénéficient des performances des allocateurs de tas Windows natifs ainsi que des atténuations de sécurité du tas intégrées.
Pour éviter les liens dans la bibliothèque d'exécution par défaut (c'est-à-dire CC32260MT.DLL ou CC64260MT.DLL), nous construisons un c0d32w.obj et un c0d64w.a vides.
Pour garantir qu'ilink64 générera les noms d'exportation attendus, nous utilisons un fichier DEF pour spécifier manuellement les exportations.
Créez borlndmm.cbproj avec C++ Builder (testé avec la version 10.3.2).
Publié sous la licence BSD à 3 clauses.