Logo vi.boatexistence.com

Malloc phân bổ bộ nhớ ở đâu?

Mục lục:

Malloc phân bổ bộ nhớ ở đâu?
Malloc phân bổ bộ nhớ ở đâu?
Anonim

Thông thường, malloc phân bổ bộ nhớ từ heapvà điều chỉnh kích thước của heap theo yêu cầu, sử dụng sbrk (2). Khi cấp phát các khối bộ nhớ lớn hơn MMAP_THRESHOLD byte, việc triển khai glibc malloc sẽ phân bổ bộ nhớ dưới dạng ánh xạ ẩn danh riêng tư bằng cách sử dụng mmap (2).

Bộ nhớ malloc được cấp phát ở đâu?

Trong C, hàm thư viện malloc được sử dụng để cấp phát một khối bộ nhớ trên the heapChương trình truy cập khối bộ nhớ này thông qua một con trỏ mà malloc trả về. Khi bộ nhớ không còn cần thiết nữa, con trỏ sẽ được chuyển đến chỗ trống, con trỏ sẽ phân bổ bộ nhớ để nó có thể được sử dụng cho các mục đích khác.

Malloc và calloc phân bổ bộ nhớ ở phần nào của bộ nhớ?

Tên malloc và calloc là các hàm thư viện cấp phát bộ nhớ động. Có nghĩa là bộ nhớ được cấp phát trong thời gian chạy (thực thi chương trình) từ đoạn heap.

Bộ nhớ được cấp phát ở đâu?

Đống. Heap là phần bộ nhớ máy tính, được phân bổ cho một ứng dụng đang chạy, nơi bộ nhớ có thể được cấp phát cho các biến, cá thể lớp, v.v. Từ heap của chương trình, hệ điều hành sẽ phân bổ bộ nhớ để sử dụng động.

Bộ nhớ được cấp phát tĩnh được lưu trữ ở đâu?

Khi chương trình (tệp thực thi hoặc thư viện) được tải vào bộ nhớ, các biến tĩnh được lưu trữ trong đoạn dữ liệu của không gian địa chỉ của chương trình (nếu được khởi tạo)hoặc đoạn BSS (nếu chưa được khởi tạo) và được lưu trữ trong các phần tương ứng của tệp đối tượng trước khi tải.

Đề xuất: