4
A
回答
8
函數的結尾和序言只是一組指令,它在函數調用時爲函數設置上下文,並在函數返回時進行清理。
開場白通常執行的任務包括:
- 保存所有的寄存器,該功能可以使用(由該平臺的標準要求在函數調用中被保留)
- 在棧上分配存儲是該功能可能需要局部變量
- 設置任何指針(或其他連接)至參數可能會在堆棧上傳遞
結語通常只需要恢復任何保存寄存器並恢復堆棧指針,以使該函數爲自己使用而保留的任何內存被「釋放」。
可能在序言/結語中使用的確切機制取決於CPU體系結構,平臺標準,函數的參數和返回值以及函數可能使用的特定調用約定。
2
維基百科FTW:https://en.wikipedia.org/wiki/Function_prologue
這似乎解釋得相當好,在我看來。如果有什麼不清楚的地方,讓我知道,我可以嘗試清理一些事情。
+0
不錯。謝謝。 :-) – 2010-07-12 19:27:06
相關問題
- 1. 這個彙編函數序言/結尾代碼用rbp/rsp/leave做什麼?
- 2. 序言什麼是累加器和\ +成員函數
- 3. x86彙編:主要序言和結語是什麼?
- 4. 什麼是序言指令?
- 5. Sublime Text中的行結尾是什麼?
- 6. Erlang用於開始......結尾是什麼?
- 7. JavaScript構造函數序言的目的是什麼?
- 8. 序言:connect4檢查對角線結尾
- 9. 什麼是函數應用程序和調用函數?
- 10. dt函數的結果是什麼?
- 11. readPNG函數的結果是什麼?
- 12. 測試以GML結尾的數字是什麼數字
- 13. 這兩個函數序言指令序列有什麼區別?
- 14. 數據庫標識符結尾處的世界是什麼.WORLD?
- 15. 在np float64數組結尾的+ 0x或-0x是什麼意思?
- 16. 語言設計:結合Gotos和函數
- 17. PHP變量函數和語言結構
- 18. 爲什麼這個函數不是尾遞歸?
- 19. BASIC:函數名稱末尾的感嘆號是什麼意思?
- 20. 爲什麼不是這個F#內函數尾遞歸?
- 21. 函數的尾部上下文是什麼?
- 22. 什麼是使用數學函數的好的庫/語言
- 23. F和D在數字文字結尾處的含義是什麼?
- 24. 在C++中,什麼是尾數轉換
- 25. 什麼是類型和什麼是類型構造函數scala
- 26. 什麼是函數的常見和合理的參數順序?
- 27. 什麼是「和 - 產品」數據結構?
- 28. 什麼是尾隨X
- 29. 序言 - 這是什麼邏輯
- 30. _Unchecked和_Rechecked函數是什麼?
非常感謝親愛的伯爾 – 2010-07-12 19:26:45