这个帖子给了 m,也就是说版主的意见也是和稀泥
原本说的是,vc 的 debug 模式额外填充了特殊的字节。然后 leadu 说本来从 os 拿来的是清零的,还特意用 VirtualAlloc 举了例子。
你们的观点是,leadu 说的没错,那也就是说,release 模式下 malloc 拿来的是 os 给清零的。或者你们也觉得,VirtualAlloc 拿来的内存,vc 也会给填一遍 0xCC?
你们俩还总说我没逻辑,没办法我是真配合不了你们的神奇逻辑
【 在 hgoldfish (老鱼) 的大作中提到: 】
: leadu 说得没错。你别那么冲。按说你也是老 delphi 程序员了。
: 申请内存分几种情况。。进程找操作系统要内存,操作系统分配一个内存页给进程的时候,确实是清零的。因为里面的数据可能是其它进程留下来的,不清零会泄露数据,不安全。每一个现代操作系统都这么干的。
: libc/kernel32 拿到内存页以后,会自建一个内存池,用于 malloc(),这个操作不清零。
: ...................
--
FROM 115.188.162.*