亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是python中的ABI

發布時間:2020-08-26 11:06:02 來源:億速云 閱讀:649 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關什么是python中的ABI,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

ABI是Application Binary Interface的縮寫,應用程序二進制接口。 一個ABI是不同二進制片段的連接紐帶。 它定義了函數被調用的規則:參數在調用者和被調用者之間如何傳遞,返回值怎么提供給調用者,庫函數怎么被應用,以及程序怎么被加載到內存。 因此ABI是用來約束鏈接器的:一個ABI是無關的代碼如何在一起工作的規則。 一個ABI也是不同進程如何在一個系統中共存的規則。 舉例來說,在Linux系統中,一個ABI可能定義信號如何被執行,進程如何調用syscall,使用大端還是小端,以及棧如何增長。

ABI是系統與應用之間的協議. 一個BINARY(EXEC, LIB)必需符合ABI才能在相應的系統上運行。比如在PC上不管用什么樣的COMPILER, 只要產生符合LINUX的ELF文件, 用相應的INSTRUCTION SET(比如INTEL, PPC, SPARC),就可以在一個LINUX機器上運行, 調用系統或別人的LIB。

ABI定義了BINARY的文件格式、內容、 以及裝載/卸載程序的要求, 函數調用時參數傳遞規則, 寄存器, 堆棧的使用等。

保持一個穩定的 ABI 要比保持穩定的 API 要難得多。比如,在內核中 int register_netdevice(struct net_device *dev) 這個內核函數原型基本上是不會變的,所以保持這個 API 穩定是很簡單的,但它的 ABI 就未必了,就算是這個函數定義本身沒變,即 API 沒變,而 struct net_device 的定義變了,里面多了或者少了某一個字段,它的 ABI 就變了,你之前編譯好的二進制模塊就很可能會出錯了,必須重新編譯才行。

看完上述內容,你們對什么是python中的ABI有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮阳县| 宁安市| 上高县| 仁化县| 柳州市| 凌海市| 万山特区| 兴文县| 浙江省| 刚察县| 霍山县| 紫阳县| 望江县| 龙门县| 当雄县| 无极县| 宁城县| 常熟市| 磐石市| 肥西县| 罗山县| 黄浦区| 潞城市| 四子王旗| 阳高县| 东城区| 门源| 张家川| 清水河县| 阳泉市| 旅游| 西华县| 斗六市| 枝江市| 育儿| 日照市| 南和县| 新化县| 女性| 呼玛县| 荥阳市|