Re: [gull] Subtilité de C n° 6 : Tableaux et pointeurs, presque pareils

Marc Mongenet marc at mongenet.ch
Tue Aug 5 11:58:05 CEST 2008


Le 2 août 2008 11:31, Yves Martin <ymartin59 at free.fr> a écrit :
>
> À priori, le compilateur peut utiliser des registres pour tous les
> paramètres qui y rentrent et la pile pour les autres...
> Avec un sérieux avantage de performance pour les registres, d'où un
> usage sans vergogne - quitte à compiler une fonction en faisant un
> joyeux mélange de tout cela.
>

C'est possible pour les fonctions statiques. Mais pour les autres
fonctions (visibles du linker) il me semble que la System V ABI
(System V Application Binary Interface) pour Intel386 que suit Linux
spécifie que tous les paramètres sont empilés, et seule la valeur de
retour est passée par le registre %eax.

Mais pour AMD64 je suppose que quelques registres sont utilisés
pour passer les premiers paramètres.

Marc Mongenet



More information about the gull mailing list