91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

长宁县| 都江堰市| 明光市| 西城区| 武穴市| 龙门县| 绿春县| 涪陵区| 高密市| 咸丰县| 定襄县| 乌拉特后旗| 梅河口市| 台中县| 武隆县| 朔州市| 渝中区| 许昌市| 鄂伦春自治旗| 扎赉特旗| 揭东县| 香格里拉县| 牙克石市| 旌德县| 唐海县| 太原市| 铁力市| 通州市| 霍邱县| 绥中县| 句容市| 藁城市| 洱源县| 通城县| 顺义区| 富顺县| 双流县| 互助| 邳州市| 城步| 泌阳县|