Заменить распределитель STL по умолчанию

У меня есть исходный код для большой (> 250 файлов) библиотеки, которая интенсивно использует контейнеры и строки STL. Мне нужно запустить его во встроенной среде с ограниченной кучей, поэтому я хочу убедиться, что сама эта библиотека ограничена в использовании кучи.

Очевидное решение - создать распределитель, но изменение всей базы кода для включения параметра шаблона распределителя - это большая работа в крайнем случае, и она нежелательна, если я когда-нибудь захочу взять новую версию исходного кода. Глобальная замена new и delete невозможна, поскольку это влияет на все изображение, а не только на эту библиотеку.

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

Итак, я подумал: «Есть ли переключатель компилятора или прагмы для указания класса распределителя <> во время компиляции»? Но я открыт для всего.

Следующий вопрос, который я задам, если кто-нибудь может придумать решение, заключается в том, как сделать то же самое для новых / удаленных в наборе файлов, составляющих эту библиотеку.

Я использую инструментальную цепочку gcc 3.4.4, чтобы запустить это под Cygwin, с целью VxWorks, если это натолкнет на какие-либо идеи.

21
задан Chris says Reinstate Monica 28 November 2011 в 18:33
поделиться