2 5 OpenEuler 中C與彙編的混合程式設計

2022-09-10 04:03:16 字數 625 閱讀 4796

在x86_64架構下實踐2.5中的內容:

## 1.在ubuntu系統下實踐2.5中的內容 ##

(1)將c**編譯成彙編**

**如下:a.c

#include

extern int b();

int a(int x,int y)

彙編**如下:a.s

!((2)用組合語言實現函式

1.獲取cpu暫存器

s.s!(

hello.c

!(makefile

hello:hello.o s.o

gcc -o hello hello.o s.o

hello.o:hello.c

gcc -c hello.c

s.o:s.s

gcc -c s.s

clean:

rm hello hello.o s.o

編譯執行截圖

!(## 2.用組合語言編寫sum()函式 ##

mysum.s

!(main.c

!(makefile

!(編譯執行截圖:

!(3.從彙編中呼叫c函式

sub.s sub,c

!(編譯執行截圖:

!(

OpenEuler 中C與彙編的混合程式設計(選做)

在x86 64架構下實踐2.5中的內容,提交 和實踐截圖 1 用彙編 程式設計 2 用組合語言實現函式 3 用組合語言編寫mysum函式 4 從彙編中呼叫c函式 把2.5的內容在openeuler中重新實踐一遍,提交相關 和截圖 檢視自己openeuler系統的架構 將 1 的內容進行編譯,發現無法...

C基礎 strlen與sizeof的區別 彙總

關於 strlen 與 sizeof 的區別,我相信很多人都有所了解。以下我總結了幾點關於strlen 與 sizeof 的區別和注意事項。strlen sizeof 函式運算子 計算字串長度 計算型別所佔記憶體大小 執行結束時才計算出 編譯階段計算 引數只能是char 引數可以是型別也可以是cha...

C 1035 插入與歸併(25 分)

了方法2,方法2在pat上面可以提交成功,但無法在vs2013上通過編譯,原因在於 有以下幾點需要注意 1 sort a,a 5 記憶方式 a n就是在第n個數後面畫乙個豎線 a a 0,所以在第0個數後面畫豎線 1 2 3 4 5 6 7 如果a是vector的話 一般表示為sort a.begi...