ABI 是什麼?跟 API 不一樣嗎?

By Shung-Hsi Yu

議題

ABI 是什麼?跟 API 不一樣嗎?

TR411 [[ new Date( '2024-08-03 05:40:00+00:00' ).toLocaleDateString('ja', {year: 'numeric', month: '2-digit', day: '2-digit'}) ]] [[ new Date( '2024-08-03 05:40:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] ~ [[ new Date( '2024-08-03 06:10:00+00:00' ).toLocaleTimeString('zh-Hant', {hour12: false, hour: '2-digit', minute:'2-digit'}) ]] 中文 Chinese
加入行事曆 加入關注 加入關注 已關注

儘管 Application Binary Interface (ABI) 通常就比較少人提起,但它的重要性不亞於更常聽到的 Application Programming Interface (API);例如我們到現在還能跑十年前編譯好的程式這件事,就是因爲有 ABI 才有辦法達成(精確地來說是 ABI 相容性的概念)。

這次議程中我們會介紹到底什麼是 ABI、它跟 API 有什麼不同、討論 ABI 相容性及列出 ABI 不相容時會發生什麼事、還有舉出一些 ABI 的實例(Linux Kernel ABI、Python's stable ABI、Foreign Function Interface)。

註:~60% 的內容都是以概念爲主,剩下的部分可能需要有計算機概論的基礎以及稍微看得懂 C 跟 組合語言(沒有的話一樣歡迎來聽)。

講者

Shung-Hsi Yu

Shung-Hsi Yu

Kernel Engineer at SUSE working on BPF

System Software Track 系統軟體社群議程 P9HAZQ general (30mins)