簡體   English   中英

此malloc錯誤的含義是什么? 損壞的頂部尺寸?

[英]What is the meaning of this malloc error? Corrupted top size?

我正在嘗試在我創建的幾個結構中初始化一些值。 (該程序的目標是模擬虛擬內存)由於某種原因,當我嘗試初始化pgTable [i] .validFlag = 1時,出現此錯誤,

malloc():損壞的最大大小,

但是如果我將其初始化為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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM