Trang Chủ Phát triển Một ngăn xếp cuộc gọi là gì? - định nghĩa từ techopedia

Một ngăn xếp cuộc gọi là gì? - định nghĩa từ techopedia

Mục lục:

Anonim

Định nghĩa - Call Stack có nghĩa là gì?

Một ngăn xếp cuộc gọi, trong C #, là danh sách các tên của các phương thức được gọi trong thời gian chạy từ đầu chương trình cho đến khi thực hiện câu lệnh hiện tại.

Một ngăn xếp cuộc gọi chủ yếu nhằm theo dõi điểm mà mỗi chương trình con đang hoạt động sẽ trả lại quyền điều khiển khi nó kết thúc thực thi. Ngăn xếp cuộc gọi hoạt động như một công cụ để gỡ lỗi một ứng dụng khi phương thức được theo dõi có thể được gọi trong nhiều ngữ cảnh. Điều này tạo thành một sự thay thế tốt hơn so với việc thêm mã theo dõi vào tất cả các phương thức gọi phương thức đã cho. Bất cứ khi nào một ngoại lệ được ném ở bất kỳ đâu trong mã người dùng, Thời gian chạy ngôn ngữ chung (CLR) sẽ giải phóng ngăn xếp cuộc gọi và tìm kiếm khối bắt để xác định loại ngoại lệ cụ thể. Nếu không có trình xử lý thích hợp, CLR sẽ chấm dứt ứng dụng. Do đó, ngăn xếp cuộc gọi được sử dụng để báo cho con trỏ thực thi đi đâu tiếp theo.

Techopedia giải thích Call Stack

Ngăn xếp cuộc gọi được tổ chức dưới dạng "ngăn xếp", một cấu trúc dữ liệu trong bộ nhớ để lưu trữ các mục theo cách từ trước đến trước, để người gọi của chương trình con đẩy địa chỉ trả về lên ngăn xếp và chương trình con được gọi, sau khi kết thúc, bật địa chỉ trả lại khỏi ngăn xếp cuộc gọi để chuyển điều khiển đến địa chỉ đó.

Trong C #, bất kỳ ứng dụng nào cũng bắt đầu bằng phương thức "chính", lần lượt gọi các phương thức khác. Trên mỗi cuộc gọi đến một phương thức, phương thức được thêm vào đầu ngăn xếp và được xóa khỏi ngăn xếp khi trả về cho người gọi. Ngoài ra, phạm vi của một biến được khai báo trong một khối được xác định từ thời điểm giá trị của nó được đẩy lên ngăn xếp (như một phần của ngăn xếp cuộc gọi) cho đến khi thực thi rời khỏi khối khi biến và ngăn xếp cuộc gọi được bật ra khỏi ngăn xếp. Do đó, ngăn xếp duy trì cả hai biến cục bộ (loại giá trị) và ngăn xếp cuộc gọi (khung ngăn xếp), kích thước cho biết mức độ phức tạp của một chương trình.

Định nghĩa này được viết trong bối cảnh của C #
Một ngăn xếp cuộc gọi là gì? - định nghĩa từ techopedia