Я новичок в системном программировании Linux, и я столкнулся с API и ABI во время чтения Системное программирование Linux.
Определение API:
API определяет интерфейсы, с помощью которых одна часть программного обеспечения связывает с другим на уровне источника.
Определение ABI:
В то время как API определяет источник интерфейса, ABI определяет низкоуровневый двоичный интерфейс между двумя или более программных продуктов на конкретной архитектуры. Он определяет как приложение взаимодействует с как взаимодействует приложение с ядром, и как приложение взаимодействует с библиотеками.
Как программа может взаимодействовать на уровне источника? Что такое исходный уровень? Связано ли это с исходным кодом? Или источник библиотеки входит в основную программу?
Единственное различие, которое я знаю, это API, в основном используемый программистами, и ABI в основном используется компилятором.