ABI 是什麼?跟 API 不一樣嗎?
儘管 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 跟 組合語言(沒有的話一樣歡迎來聽)。