中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

什么是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

巴马| 孝义市| 来宾市| 普兰店市| 新平| 丰城市| 兰州市| 安阳县| 古浪县| 张家港市| 贞丰县| 苏尼特右旗| 德兴市| 沅江市| 罗江县| 应城市| 揭阳市| 舞阳县| 安岳县| 蕉岭县| 南宁市| 临安市| 长治县| 前郭尔| 酒泉市| 湘乡市| 财经| 长宁县| 扎赉特旗| 耿马| 武夷山市| 稷山县| 湾仔区| 宁都县| 新源县| 余江县| 略阳县| 正蓝旗| 东莞市| 渝中区| 壶关县|