Зачем нам нужны ABI и соглашения о вызовах - PullRequest
0 голосов
/ 10 июля 2020

Почему программисту компилятора важно заранее знать ABI и соглашения о вызовах?

Для определенного языка кодирования, например: C++

1 Ответ

1 голос
/ 10 июля 2020

Если все инструменты, используемые для создания кода для проекта, созданы одной и той же сущностью, эти инструменты могут обрабатывать вызовы функций любым способом, который сочтет нужным, без необходимости использовать те же соглашения, что и другие во входных данных. Однако во многих случаях полезно иметь возможность создавать разные части проекта с использованием разных инструментов. Использование в разных инструментах одних и тех же соглашений о вызовах позволит вызывать функцию, созданную с использованием инструмента №1, из одного, созданного с использованием инструмента №2, и, в свою очередь, вызывать функцию, созданную с помощью инструмента №3, даже если создатели каждого из трех инструменты совершенно не знают о существовании других инструментов.

...