Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Bộ nhớ HEAP có dung lượng bao nhiêu Mb ?

  1. #1
    Ngày gia nhập
    12 2008
    Bài viết
    21

    Mặc định Bộ nhớ HEAP có dung lượng bao nhiêu Mb ?

    Em mới học C++, xin hỏi trong cấp phát động dùng new delete thì bộ nhớ HEAP có dung lượng tổng cộng bao nhiêu Mb ?

    Nó phụ thuộc vào phần cứng nào của máy(main, chip, ram, cache..) ?
    Có thể cho ví dụ với máy Pen IV 3.06 ram 512 ko ạ ?

    CÒn vùng nhớ Stack thì có tổng dung lượng bao nhiêu Mb ?

  2. #2
    Ngày gia nhập
    11 2008
    Bài viết
    5

    Trời, mới học C mà định làm gì hỏi bộ nhớ tới MB dữ vậy
    Bình thường thì con trỏ có 4byte, kiểu int 2 byte,..., ai làm cấp phát bộ nhớ tới 1KB là cũng nhiều rồi, còn bạn tính làm games à

  3. #3
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Trong win thì 4gb, dos thì 640kb. Tuy nhiên trong dos bạn ko thể cấp phát lớn một lần 640kb được vì giới hạn một segment là 64kb mà phải dùng con trỏ xa cấp phát trên nhiều segment. Trong model tiny, Heap và Stack nằm chung một vùng nhớ. Heap chạy đầu mở rộng lên, Stack từ cuối chạy xuống -> Heap ít thì stack nhiều và ngược lại. Trong model large thì Heap và Stack nẳm khác segment nên tối đa là 64kb.
    Đã được chỉnh sửa lần cuối bởi meoconlongvang : 09-12-2008 lúc 10:41 PM.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  4. #4
    Ngày gia nhập
    12 2008
    Bài viết
    21

    Hơ, thế sau này nếu viết ứng dụng win32 thì cũng vẫn xài stack & heap hay là xài cái khác ??? Giả sử muốn viết Game thật mà dùng C++ thì Heap với Stack sao đủ chứ?
    Đã được chỉnh sửa lần cuối bởi gadapchetvoi : 10-12-2008 lúc 01:21 AM.

  5. #5
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Win32 vẫn xài stack và heap. Bộ nhớ trong win thì vô tư, 4gb tha hồ xài.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  6. #6
    Ngày gia nhập
    12 2008
    Bài viết
    21

    Mặc định Bộ nhớ HEAP có dung lượng bao nhiêu Mb ?

    Có phải là vào VC++, chọn new Project, chọn Win32 Application (hoặc MFC) thì lúc Compile ra sẽ được 1 file exe , file này sử dụng Heap 4G ?

  7. #7
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Console cũng được mà bạn. Nhưng bạn phải xin cấp phát bằng hàm VirtualAlloc hoặc AllocatePhysicalPage mới có 4gb chứ. Vả lại phải tùy vào Ram trên máy bạn nữa. Nếu cấp phát vượt quá dung lượng của ram thì win nó đè ổ cứng ra làm ram thì chương trình cũng vẫn chạy chậm.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  8. #8
    Ngày gia nhập
    12 2008
    Bài viết
    21

    Hơ, nếu thế thì thực tế cái Heap nó chỉ chạy nhanh trong khoảng 512Mb đầu tiên nó xin cấp thôi phải ko? Chứ kiếm cái máy Ram 4G thì hơi hiếm ^^

    Mình có nghe nói về cái Virtual Memory (Hay cái PageFile gì đó) khi máy khi chạy, không hiểu nó có phải là phần trên HD mà máy đè ra làm Ram ko?

  9. #9
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Trích dẫn Nguyên bản được gửi bởi gadapchetvoi Xem bài viết
    Hơ, nếu thế thì thực tế cái Heap nó chỉ chạy nhanh trong khoảng 512Mb đầu tiên nó xin cấp thôi phải ko? Chứ kiếm cái máy Ram 4G thì hơi hiếm ^^

    Mình có nghe nói về cái Virtual Memory (Hay cái PageFile gì đó) khi máy khi chạy, không hiểu nó có phải là phần trên HD mà máy đè ra làm Ram ko?
    Chính xác, PageFile chính là phần ram mà win ghi xuống ổ cứng đó bạn.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  10. #10
    Ngày gia nhập
    12 2008
    Bài viết
    21

    Hay quá, cảm ơn bạn mèo nhìu nhìu nha. Mình hiểu thêm nhiều về C rùi.

Các đề tài tương tự

  1. Graphic Dung lượng tối đa cho biến Image là bao nhiêu?
    Gửi bởi dotritiep trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 15-12-2011, 05:10 PM
  2. Sự khác nhau của Heap Size và Array Length của mảng tạo thành Heap
    Gửi bởi cutithongtin trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 05-01-2011, 04:35 PM
  3. Kỹ thuật C Viết hàm đếm có bao nhiêu ký tự hoa , bao nhiêu ký tự thường
    Gửi bởi tyrant trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 10-09-2010, 10:58 PM
  4. Xử lý đa luồng? (Heap sỏt)
    Gửi bởi exdragonk trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 11
    Bài viết cuối: 28-09-2009, 11:18 AM
  5. Hướng dẫn C++ | Cách đo dung lượng bộ nhớ heap
    Gửi bởi comeonbaby trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 04-03-2008, 11:59 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn