Tôi vừa hết công việc, nó là một cơ sở dữ liệu và nó đang chạy một số chủ đề, về cơ bản, nhà phát triển trước đó đã ném một mảng lớn lên ngăn xếp và ngăn xếp thấp. Phần mềm đã được biên soạn bằng Microsoft Visual Studio 2015.
Mặc dù chủ đề đã hết hàng, nó không thành công và tiếp tục, nó chỉ bị tràn tràn khi truy cập nội dung dữ liệu trên ngăn xếp.
Lời khuyên tốt nhất tôi có thể đưa ra là không khai báo các mảng trên ngăn xếp - đặc biệt là trong các ứng dụng phức tạp và đặc biệt trong các chủ đề, thay vào đó hãy sử dụng đống. Đó là những gì nó có cho;)
Cũng chỉ cần ghi nhớ nó có thể không thất bại ngay lập tức khi tuyên bố ngăn xếp, nhưng chỉ khi truy cập. Tôi đoán là trình biên dịch tuyên bố ngăn xếp dưới cửa sổ "lạc quan", tức là nó sẽ giả định rằng ngăn xếp đã được khai báo và đủ kích cỡ cho đến khi nó được sử dụng và sau đó phát hiện ra rằng ngăn xếp không có.
Các hệ điều hành khác nhau có thể có các chính sách kê khai ngăn xếp khác nhau. Vui lòng để lại nhận xét nếu bạn biết chính sách này là gì.
Bạn biết rằng bạn có thể thực hiện tìm kiếm theo chiều sâu đầu tiên mà không cần đệ quy, phải không? – Sebastian
Không, tôi không biết, xin giải thích. – avd
Tôi đã tạo một ví dụ nhỏ về DFS mà không đệ quy trong câu trả lời của tôi –