成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

c語言如何傳遞數(shù)組 既然C語言函數(shù)的局部變量會被釋放,那為什么函數(shù)還可以把它return返回呢?

既然C語言函數(shù)的局部變量會被釋放,那為什么函數(shù)還可以把它return返回呢?看了底下兄弟的答復(fù),只能說答對了一半。真正的原因在于ABI(應(yīng)用程序二進(jìn)制接口)。ABI定義了與系統(tǒng)交互的細(xì)節(jié):如數(shù)據(jù)類型、

既然C語言函數(shù)的局部變量會被釋放,那為什么函數(shù)還可以把它return返回呢?

看了底下兄弟的答復(fù),只能說答對了一半。

真正的原因在于ABI(應(yīng)用程序二進(jìn)制接口)。

ABI定義了與系統(tǒng)交互的細(xì)節(jié):如數(shù)據(jù)類型、大小和對齊;調(diào)用約定(控制函數(shù)的參數(shù)的傳遞方向、可變長度處理、堆棧清理主體以及如何接受返回值等);系統(tǒng)調(diào)用的編碼和一個應(yīng)用如何向操作系統(tǒng)進(jìn)行系統(tǒng)調(diào)用;以及在一個完整的操作系統(tǒng)ABI中,目標(biāo)文件的二進(jìn)制格式、程序庫等等。一個完整的ABI,像Intel二進(jìn)制兼容標(biāo)準(zhǔn) (iBCS),允許支持它的操作系統(tǒng)上的程序不經(jīng)修改在其他支持此ABI的操作體統(tǒng)上運(yùn)行。

其他的 ABI 標(biāo)準(zhǔn)化細(xì)節(jié)還包括 C 名稱修飾 ,和同一個平臺上的編譯器之間的調(diào)用約定,但是不包括跨平臺的兼容性。

至于底下兄弟所說的EAX保存返回值,這個只是X86的ABI規(guī)范,在PowerPC等其他CPU架構(gòu)平臺,實(shí)現(xiàn)是不一樣的!——PowerPC下,返回值是保存在R3寄存器中的