Я знаю, что ОС иногда инициализирует память с помощью определенных шаблонов, таких как 0xCD и 0xDD. Я хочу знать, что , когда и почему это происходит.
<Н2 > ПриН2 >
Является ли это специфическим для используемого компилятора?
Делают ли malloc/new и free/delete работать таким же образом в отношении этого?
Является ли он специфичным для платформы?
Будет ли это происходить в других операционных системах, таких как Linux или VxWorks?
Почему
Я понимаю, что это происходит только в конфигурации отладки Win32 и используется для обнаружения переполнения памяти и для исключения исключения компилятора.
Можете ли вы привести практические примеры того, как эта инициализация полезна?
Я помню, как что-то читал (возможно, в Code Complete 2), что при инициализации памяти хорошо запоминать известный шаблон, а некоторые шаблоны будут запускать прерывания в Win32, что приведет к исключениям, отображаемым в отладчике.
Насколько переносимым является это?