Logo mn.boatexistence.com

Malloc санах ойг хаана хуваарилдаг вэ?

Агуулгын хүснэгт:

Malloc санах ойг хаана хуваарилдаг вэ?
Malloc санах ойг хаана хуваарилдаг вэ?

Видео: Malloc санах ойг хаана хуваарилдаг вэ?

Видео: Malloc санах ойг хаана хуваарилдаг вэ?
Видео: malloc() ашиглан динамик санах ойн хуваарилалт 2024, May
Anonim

Ер нь malloc нь овооноос санах ойг хуваарилж, sbrk(2)-ыг ашиглан шаардлагатай бол овоолгын хэмжээг тохируулдаг. MMAP_THRESHOLD байтаас том санах ойн блокуудыг хуваарилах үед glibc malloc хэрэгжүүлэлт нь санах ойг mmap(2) ашиглан хувийн нэргүй зураглал болгон хуваарилдаг.

Malloc санах ой хаана хуваарилагдсан бэ?

С хэлэнд malloc номын сангийн функцийг овоо дээр санах ойн блок хуваарилахад ашигладаг. Програм нь malloc-ийн буцаадаг заагчаар дамжуулан энэ санах ойн блокт ханддаг. Санах ой хэрэггүй болсон үед заагчийг чөлөөтэй болгож, санах ойг өөр зориулалтаар ашиглах боломжтой болгодог.

Malloc болон calloc санах ойн аль хэсэгт санах ойг хуваарилдаг вэ?

Malloc болон calloc нэр нь санах ойг динамикаар хуваарилдаг номын сангийн функцууд юм. Энэ нь санах ойг нуруулдан сегментээс-аас ажиллах хугацаанд (програмыг гүйцэтгэх) хуваарилдаг гэсэн үг юм.

Санах ой хаана хуваарилагдсан бэ?

The Heap. Нуруулга гэдэг нь компьютерийн санах ойн ажиллаж байгаа программд хуваарилагдсан хэсэг бөгөөд үүнд санах ойг хувьсагч, ангиллын жишээ гэх мэтээр хуваарилах боломжтой. Үйлдлийн систем нь програмын бөөгнөрөлөөс динамик хэрэглээнд зориулж санах ойг хуваарилдаг.

Статик байдлаар хуваарилагдсан санах ой хаана хадгалагддаг вэ?

Хөтөлбөрийг (гүйцэтгэх боломжтой эсвэл номын сан) санах ойд ачаалах үед статик хувьсагчдыг програмын хаягийн зайны өгөгдлийн сегмент (хэрэв эхлүүлсэн бол) эсвэл BSS сегментэд хадгалдаг. (хэрэв эхлүүлээгүй бол) бөгөөд ачаалахаас өмнө объект файлын харгалзах хэсгүүдэд хадгалагдана.

Зөвлөмж болгож буй: