經反彙編經驗證確實如此:局部變量用用{r4-r12,r14}來保存,放不下的在堆棧保存,{r0-r3}用來傳遞參數,多於4個參數也保存在堆棧,完全符合編譯器手冊規則。有圖有真相
調用函數時堆棧操作
圖上事例也說明具體哪個局部變量保存到堆棧也是編譯器隨機確定的而不是像參數傳遞一樣有固定的順序,如同之前碰到一個問題,編譯器對靜態數組的的初始化不會從從左到右,而是隨機初始化(用戶程序控制初始化除外)
arm編譯器調用約定
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
即時通訊技術文集(第 3 期):高性能網絡編程系列 [共 14 篇]
原創
2024-05-12 11:49:46
一篇搞定CAS,深度講解,面試實踐必備
原創
2024-05-12 11:45:23
JDK的一個Bug,監聽文件變更要小心了
原創
2024-05-12 11:45:09
Spring Boot + EasyExcel導入導出,簡直太好用了!
原創
2024-05-12 11:45:08
爲了實現CI/CD,先來定製一個Docker鏡像【實戰精華篇】
原創
2024-05-12 11:45:04
不掌握這些坑,你敢用BigDecimal嗎?
原創
2024-05-12 11:45:03
springboot啓動配置文件加載過程
原創
2024-05-12 10:56:20
實現大文件上傳和斷點續傳實踐經驗總結
原創
2024-05-12 10:43:33
學會JavaScript手寫代碼祕籍14道常用api
原創
2024-05-12 10:43:29
一文了解基於 ITIL 的運維管理體系框架
原創
2024-05-12 00:51:06
一圖帶你解鎖數字化運維的建設思路
原創
2024-05-12 00:51:05
【騰訊雲 BI 數據分析可視化大賽】有獎徵文活動
原創
2024-05-12 00:31:56
KubeKey 部署 K8s v1.28.8 實戰
原創
2024-05-11 23:51:54
KubeSphere 社區雙週報|2024.04.26-05.09
原創
2024-05-11 23:51:52