) activeFlag = false #endif //

Автор admin Пятница, 8 мая 2009 11:32

) activeFlag = false #endif // MEMCHECK_H ///:- Этот файл должен включаться во все исходные файлы, для которых требуется отслеживать операции с кучей, но включаться он должен обязательно последним (после всех остальных директив #indude). Большинство заголовочных файлов стандартной библиотеки содержит шаблоны, а поскольку многие компиляторы используют при компиляции шаблонов модель с включением, макрос, заменяющий new в MemCheck.h, узурпирует все вхождения оператора new в исходном коде библиотеки (что, скорее всего, приведет к ошибкам компиляции). Кроме того, нас интересуют наши собственные ошибки в нашем коде, а не в библиотеках. В следующем файле, содержащем реализацию системы отслеживания операций с памятью, весь ввод-вывод осуществляется стандартными средствами С (вместо потоков С++). В принципе, это должно быть несущественно, поскольку мы не мешаем потокам ввода-вывода работать с кучей, но некоторые компиляторы были против. С другой стороны, версия никаких нареканий не вызывала. //: C02:MemCheck.cpp {0} #include #i nclude #include #i nclude using names


Комментарии закрыты.