O que é uma convenção de chamada em uma ABI?
Uma convenção de chamada é a parte de uma interface binária de aplicação que especifica como quem chama e quem é chamado concordam sobre a passagem de argumentos, o retorno de resultados e quais registradores cada um deve preservar. Ela também fixa como a pilha é montada e limpa em torno de uma chamada. Como é um contrato, código compilado por ferramentas diferentes só pode se chamar mutuamente se compartilhar a convenção.
Por que isso importa
Convenções de chamada incompatíveis entre unidades compiladas causam argumentos corrompidos, falhas ou resultados silenciosamente errados. Conhecer a convenção é essencial para interfaces de funções externas e builds de linguagens mistas.
Guias relacionados
What Is a Stack Frame?A stack frame is the block of stack memory for one function call, holding its arguments, local variables, and…
What Is Symbol Resolution?Symbol resolution is the linker step that matches each reference to a name, such as a function or variable, w…
What Is a Dynamic Linker?A dynamic linker loads the shared libraries a program depends on at startup and binds its references to the f…