cpp的startup
c++程序的生前死后—–侯捷
- 先初始化堆,IO初始化,处理字符串,c初始化,进行入main,退出
- SBH: small block heap 小区块堆
- heap init startup
- VC6 如果你要的小于3f8,也就是1016,那我就管理,否则就利用操作系统来进行管理。也就是1024 - 8, 8为上下的cookie。
- VC10 就不管大小了,所有的都使用heap_alloc_base来实现,这个时候,他就不管大小了。实际上就是包装在了os层面了。
- heap初始化就是挖出16个header
- 内存哪里来,小于1k,就是由sbh来分配,大于1k,就交给操作系统
- ioinit
- 任何进入main之前就先分配256字节也就是100h,再加4乘9等于36字节,也就是24h,再加上下cookie共8h, 那么一共就是100h+24h+8h = 12ch 调整到130h
- 内存的管理核心就是挖一大块进行切割。