Как изменить поведение mallo c в glib c и проверить, работает ли оно должным образом? - PullRequest
0 голосов
/ 10 июля 2020

Я хочу использовать malloc для выделения памяти, но не хочу использовать динамический c способ выделения в mallo c. Вместо этого я хочу использовать mallo c для выделения большого блока / пула, чтобы я мог «добавить» некоторые переменные / объекты в этот большой блок / пул памяти. Поэтому я хотел бы изменить исходный код mallo c (например, malloc/malloc.c) в glib c, чтобы он работал для моего сценария.

Каков наиболее удобный и эффективный способ изменения исходники glib c, а также проверить его работоспособность? Один из способов, который приходит мне в голову, - это загрузить исходный код glib c, изменить код, а затем настроить / make / make install, но это было бы очень громоздко, потому что мне нужно часто тестировать свою измененную версию mallo c чтобы убедиться, что он работает правильно.

Большое спасибо за вашу помощь! Приветствуются все ответы и мысли.

1 Ответ

1 голос
/ 10 июля 2020

Вы можете использовать LD_PRELOAD со своим кодом (при условии, что он динамически связан), чтобы вставить свою собственную реализацию malloc.

То, что вы хотите, очень похоже на Распределение арены . Эта библиотека может уже делать то, что вам нужно: https://github.com/thejefflarson/arena

...