小鵬汽車高管解讀財報:從 G9 開始會逐步引入 800 伏充電系統
阿新 • • 發佈:2021-11-24
任務詳情
- 在X86_64架構下實踐2.5中的內容,提交程式碼和實踐截圖
- 把2.5的內容在OpenEuler中重新實踐一遍,提交相關程式碼和截圖
- 實驗內容要經過答辯才能得到相應分數
過程
一、在X86_64架構下實現
檢視linux虛擬機器版本
下載gcc32位庫
sudo apt-get install gcc-multilib g++-multilib module-assistant
此時,就可以使用gcc -m32指令編譯32位程式了
1、用匯編程式碼程式設計
將c程式碼編譯成彙編程式碼
c程式碼:
#include<stdio.h> extern int B(); int A(int x,int y) { int d,e,f; d =4; e =5; f=6; d=B(d,e); }
使用指令 gcc -m32 -S
將a.c程式碼編譯成32位的彙編程式碼
檢視編譯結果:
2、用匯編語言實現函式
示例2.2
程式的c程式碼與彙編程式碼:
編譯指令:gcc -m32 s.c s.s -o s
執行結果:
示例2.3
c程式碼與彙編程式碼:
編譯指令:
gcc -m32 mysum.c mysum.s -o mysum
注意使用該指令時,要在xx.s檔案中加入.code32才能正常編譯