gpt4 book ai didi

c++ - Visual C++ 中的堆帧有多大

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:39:42 24 4
gpt4 key购买 nike

在 Visual C++ 中,如果我使用 new 在堆上创建对象,堆帧头和填充需要多少额外空间,特别是在发布代码中?我期望一个 int 表示 block 中有多少可用空间,另一个可能表示当前使用了多少空间,并且帧大小根据体系结构四舍五入到最接近的 32 或 64 位。只是想知道 VC++ 是否添加了任何额外的东西,如保护字节、标志等......并且帧大小四舍五入到更大的最小大小。换句话说,对于大量数据,在堆上使用大量小块数据是多么低效。

最佳答案

黑客攻击:

int* p = new int;
int* q = new int;
std::cout << (char*)q - (char*)p << std::endl;

是的,我知道,技术上未定义的行为,但我认为它应该回答问题:)

关于c++ - Visual C++ 中的堆帧有多大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6356222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com