Получение путает с соглашением о вызовах ABI и дугой

Я добираюсь, путают со всеми теми условиями:

ABI, соглашение о вызовах и аппаратная архитектура.

ABI является ссылкой с архитектурой: x86-64 имеют другой ABI, чем i386. Но затем можно также определить собственное соглашение о вызовах cdecl...

Хорошо поэтому, какова ссылка между всеми они понятие? Какой определение является другим?

Главным образом я думаю, что я, путают с ABI. Что Вы вставляете часть из соглашения о вызовах?

Спасибо

1
задан mathk 12 August 2010 в 16:21
поделиться

1 ответ

Это обширная тема, но все же дам вам несколько советов:

ABI (application binary interface) охватывает детали, которые должны быть указаны для того, чтобы приложение могло работать на определенной системе (обычно с операционной системой). Итак, перейдем к примерам:

  • размеры типов данных (например, стандарт C дает лишь минимальные требования к типам. Тип int должен быть по крайней мере таким же большим, как short, а short должен быть 16 бит. )
  • расположение в памяти структур и битовых полей
  • соглашение о вызове (когда вызывается функция, где она может найти свои параметры, какие в регистрах, какие на стеке и т.д.)
  • кадр стека (что присутствует на стеке, полезно для отладчика)
  • номера системных вызовов
  • другие

В принципе, любая деталь, которую необходимо знать для создания программы, работающей вместе с другими компонентами (библиотеками, ОС), может быть включена в ABI. Некоторые ABI указывают больше, а некоторые - меньше деталей.

Архитектуру аппаратного обеспечения также можно рассматривать как спецификацию, но еще более низкого уровня (речь идет об аппаратном обеспечении, а не о программном). Аппаратная архитектура определяет такие вещи, как доступный набор инструкций, иерархию памяти и способы доступа к периферийным устройствам. Для одной аппаратной архитектуры могут быть разные ABI. Также вы можете иметь один и тот же ABI для нескольких (но обычно похожих) аппаратных архитектур.

2
ответ дан 2 September 2019 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: