Возможное переносное решение - написать распределитель самостоятельно. Вам не нужно использовать стек процесса, просто имитируйте его в куче. Выделите большой объем памяти в начале и напишите над ним распределитель стека, чтобы использовать его при распределении. Google «Требования к подписчикам» для получения информации о том, как его достичь на C ++.
Я не уверен, что термин «Stack Allocator» является каноническим, но я имею в виду, что вы должны ставить стеки как ограничения на то, где должно происходить распределение или освобождение. Поскольку вы сказали, что ваш алгоритм подходит для этого шаблона, я думаю, что это будет легко.