2012-10-11 18 views

Trả lời

7

xem xét ngăn xếp sau đó phát triển xuống trong bộ nhớ:

+----------------+ 
| some data  | | 
+----------------+ | growth of stack 
| 20-byte string | V 
+----------------+ 
limit of stack 

Một tràn bộ đệm xảy ra khi bạn viết 30 byte thành chuỗi 20 byte của bạn. Điều này làm hỏng mục tiếp tục lên ngăn xếp ('một số dữ liệu').

Ngăn xếp ngăn xếp là khi bạn cố gắng đẩy thứ gì đó khác trên vào ngăn xếp khi nó đã đầy (nơi nó cho biết 'giới hạn ngăn xếp'). Ngăn xếp thường được giới hạn ở kích thước tối đa của chúng.

0

Stackoverflow xuất hiện khi không có nhiều không gian hơn trong bộ nhớ để phân bổ dữ liệu của bạn, và buffer overrun a.k.a. buffer overflow được gọi khi chương trình vượt ranh giới vùng đệm và ghi/ghi đè dữ liệu trong phần bất ngờ của bộ nhớ (mất nhiều bộ nhớ hơn so với dự kiến).

Dễ dàng, bạn có thể hiểu điều này chỉ bằng cách đọc mô tả thẻ stackoverflowbuffer overflow.