拿 VirtualAlloc 说清零的是 leadu,我分明就是在指出他的错误,为啥反倒成了我误以为了?
【 在 javaboy (喝了咖啡就话多-_-;) 的大作中提到: 】
: malloc是crt函数,清零不清零(主要)是由编译器决定的。微软的vc编译器选择了在debug build里,让malloc自动填充烫烫烫。这是vc的特性,和windows系统本身并没有关系。
: 至于windows系统是否清零内存,应该看winapi里对应的HeapAlloc。这个函数才是windows开放给用户的真正的malloc,而且它是malloc的加强版,用户可以选择是否要把申请到的内存清零(通过HEAP_ZERO_MEMORY标志位选择)。
: 你误以为malloc是OS的一部分,觉得release版的malloc不清零等于OS不给清零。
: ...................
--
FROM 115.188.162.*