2.5 OpenEuler 中C與彙編的混合程式設計(選做)
阿新 • • 發佈:2021-11-28
2.5 OpenEuler 中C與彙編的混合程式設計(選做)
0.任務詳情
1. 在X86_64架構下實踐2.5中的內容,提交程式碼和實踐截圖
2. 把2.5的內容在OpenEuler中重新實踐一遍,提交相關程式碼和截圖
3. 實驗內容要經過答辯才能得到相應分數
1.首先在x86_64kali中實踐內容。
1.1
入口程式碼
函式體程式碼
退出程式碼
1.2
這裡有點繞,得分兩個檔案進行編譯,一個是s.s,另一個是s.c,將兩份檔案編譯成.o檔案再一起編譯成可執行檔案。
1.3
這裡編譯出現問題是因為編譯環境應該是32位的,這裡的pop和push產生的是32位,但是系統環境應該是64位的,所以型別不匹配,需要再過程中加上-m32。(或者將所有指令都換成xxxl是否可行?)
參考部落格:https://www.codenong.com/21245245/
1.4
這裡問題與上面相同,編譯加上-m32即可通過。
程式碼連結:https://gitee.com/sister_ben/kali/tree/master/test2-5
2.接下來在樹莓派openeuler中完成。
在openeuler中的源都沒有有關32位庫的安裝包,無法安裝32位編譯環境。