我正在将 VC++ 10 用于我正在处理的 C++ 项目,并且出于某种原因,每当我分配一个对象时,系统都会为其分配 4kb 的内存(即使该对象有几个字节长)。
总结一下:
- 使用 new/malloc 分配小对象会导致为每个对象分配 4kb。
- 我用一个新项目验证了项目设置,没有任何区别。
- 该项目使用外部 C dll 并包含一个头文件,其中包含该 dll 的导出函数和结构的声明。
- 测试系统是 Win7 x64 但应用程序是为 x86 编译的
该项目相当大,但我没有找到任何指令告诉系统分配那么多内存,我可以验证传递给 new/malloc 的参数是对象的正确大小。
请注意,我的项目中的所有对象/结构都会发生这种情况。
先感谢您。