星期四, 1月 14, 2010

Application Binary Interface

Application Programming Interface (API) 是為了讓高階的原始碼相容 (source compatibility),可以順利編譯;而 Application Binary Interface (ABI) 是為了低階的二進位相容 (binary compatibility),讓 object code 不用重新編譯就可以在相同 ABI 的系統下使用。

跟 ABI 有關的議題包括 calling conventions、byte ordering、暫存器使用、system call invocation, linking, library behavior, 以及 the binary object format,由編譯工具鏈強制實施。了解 API 有助於組合語言撰寫、程式最佳化、或編譯工具鏈 hacking。