gpt4 book ai didi

c - 这个 malloc 错误是什么意思?顶部尺寸损坏?

转载 作者:太空宇宙 更新时间:2023-11-04 05:47:46 24 4
gpt4 key购买 nike

我试图在我创建的几个结构中初始化一些值。 (该程序的目标是模拟虚拟内存)出于某种原因,当我尝试初始化 pgTable[i].validFlag = 1 时出现此错误:

malloc(): corrupted top size

但如果我将它初始化为 0 则不会。我认为这与我离开数组末尾有关,但我不明白这怎么可能。

谁能告诉我我做错了什么?

  int* memmory = malloc( sizeof( int ) * sizeVM * pageSize );
struct TLBentry* tlb = malloc( sizeof(struct TLBentry) * sizeTLB );
struct pageTableEntry* pgTable = malloc( sizeof(struct pageTableEntry) * sizeVM );

for( int i = 0; i < sizeTLB; i++){
tlb[i].virtualAddress = i;
tlb[i].physicalAddress = i;
}

for( int i = 0; i < sizePM; i++){
pgTable[i].dirty = 0;
pgTable[i].validFlag = 1;
pgTable[i].physicalAddress = i;
}

memSys->virtMem = memmory;
memSys->tlb = tlb;
memSys->pgTable = pgTable;

最佳答案

当您分配 sizeVM 条目时,您的循环上升到 sizePM

关于c - 这个 malloc 错误是什么意思?顶部尺寸损坏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55801993/

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