Câu hỏi được gắn thẻ «callstack»

Một ngăn xếp lưu trữ thông tin chi tiết của các chức năng được gọi bởi một chương trình theo trình tự, để mỗi chức năng có thể trả về khi hoàn thành mã đã gọi nó.



6
Giải thích khái niệm khung stack một cách ngắn gọn
Dường như tôi có ý tưởng về ngăn xếp cuộc gọi trong thiết kế ngôn ngữ lập trình. Nhưng tôi không thể tìm thấy (có lẽ, tôi chỉ không tìm kiếm đủ mạnh) bất kỳ lời giải thích hợp lý nào về khung stack là gì. Vì vậy, tôi muốn …
200 callstack 

2
Làm cách nào tôi có thể lấy lại một ngoại lệ trong Javascript, nhưng bảo toàn ngăn xếp?
Trong Javascript, giả sử tôi muốn thực hiện một số dọn dẹp khi có ngoại lệ xảy ra, nhưng hãy để ngoại lệ tiếp tục truyền bá ngăn xếp, ví dụ: try { enterAwesomeMode(); doRiskyStuff(); // might throw an exception } catch (e) { leaveAwesomeMode(); throw e; } doMoreStuff(); leaveAwesomeMode(); …

13
in ngăn xếp cuộc gọi trong C hoặc C ++
Có cách nào để kết xuất ngăn xếp cuộc gọi trong một tiến trình đang chạy bằng C hoặc C ++ mỗi khi một hàm nhất định được gọi không? Những gì tôi có trong đầu là một cái gì đó như thế này: void foo() { print_stack_trace(); // foo's …
120 c++  c  linux  callstack 




4
Các biến ngăn xếp có được căn chỉnh bởi GCC __attribute __ ((căn chỉnh (x))) không?
tôi có mã sau: #include <stdio.h> int main(void) { float a[4] __attribute__((aligned(0x1000))) = {1.0, 2.0, 3.0, 4.0}; printf("%p %p %p %p\n", &a[0], &a[1], &a[2], &a[3]); } Và tôi có kết quả sau: 0x7fffbfcd2da0 0x7fffbfcd2da4 0x7fffbfcd2da8 0x7fffbfcd2dac Tại sao địa chỉ của a[0]không phải là bội số 0x1000? Chính xác là …


17
Ngăn xếp hoạt động như thế nào trong hợp ngữ?
Tôi hiện đang cố gắng hiểu cách ngăn xếp hoạt động, vì vậy tôi quyết định tự học một số ngôn ngữ hợp ngữ , tôi đang sử dụng cuốn sách này: http://savannah.nongnu.org/projects/pgubook/ Tôi đang sử dụng Gas và đang phát triển trên Linux Mint . Tôi hơi bối rối …


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.