У меня есть источник для большой (> 250 файлов) библиотеки, которая интенсивно использует контейнеры и строки STL. Мне нужно запустить его во встроенной среде с ограниченной кучей, поэтому я хочу убедиться, что эта библиотека ограничена в использовании кучи.
Очевидное решение заключается в создании распределителя, но изменение всей базы кода для включения параметра шаблона распределителя является большой задачей последней инстанции и нежелательно в случае, если я когда-нибудь захочу взять новую версию исходного кода. Глобальная замена новых и удаление невозможна, так как это влияет на все изображение, а не только на эту библиотеку.
Моей следующей мыслью был глупый трюк с макросом C, но, похоже, это было бы невозможно, хотя я признаю, что не был умным автором макросов.
Итак, я подумал, "есть ли компилятор или прагма-переключатель для указания класса allocator <> во время компиляции"? Но я открыт для всего.
Следующий вопрос, который я задам, если кто-нибудь может придумать решение, это как сделать то же самое для new / delete в наборе файлов, входящих в эту библиотеку.
Я использую набор инструментов gcc 3.4.4 для запуска этого под Cygwin, с целью VxWorks, если это вызывает какие-либо идеи.