En C++, can permet d'appeler une fonction à chaque fois que new
échoue. Est-il possible d'appeler une fonction à chaque fois que malloc
échoue? Supposons que malloc
est appelé à partir de bibliothèques tierces que je ne veux pas modifier.Existe-t-il un équivalent de set_new_handler() pour les échecs malloc()?
Je ne pense pas qu'il y ait une réponse portable, donc j'accepte volontiers les plates-formes spécifiques. J'utilise Linux + uclibc sur certaines plateformes et Linux + glibc sur d'autres. Je prévois d'utiliser pour limiter la quantité de mémoire malloc
peut retourner.
Nous Supposons que vous avez désactivé votre engagement. Droite? –
Conrad: J'espère, mais je ne possède pas tout le système, je fournis juste une application. Les gens qui ont conçu le système m'ont promis une certaine quantité de RAM et, en retour, je dois promettre de rester dans cette limite. (Ceci est un périphérique intégré sans échange, donc les gens prennent très au sérieux les budgets de la mémoire et s'assurent que tout va bien). – user9876