Как я могу безопасно интерпретировать align_allo c? - PullRequest
0 голосов
/ 14 апреля 2020

В настоящее время я работаю над интерпретатором в образовательных целях и хочу, чтобы интерпретатор мог выделять выровненную память кучи.

Инструкции моего интерпретатора могут содержать адреса к этой памяти кучи, и поскольку я хочу, чтобы он был немного безопасным, я хотел бы ограничить пользователя только адресной памятью, которая была выделена интерпретатором.

Поэтому я попытался написать свой собственный распределитель кучи, который работает поверх malloc и realloc, с целью иметь возможность выделить блоки в непрерывной области памяти, чтобы ограничить доступ к этому единственному блоку большой кучи.

Теперь возникла проблема: поскольку я использую realloc, интерпретаторы память может перемещаться, и дополнения, которые я добавил в распределитель кучи, могут больше не быть правильными.

Я немного растерялся; Есть ли способ portable , как я мог бы безопасно предоставить интерпретатору согласованные возможности выделения памяти?

...