Paramètre de fonction : forcer l'usage d'un registre
Bonjour,
Voici un exemple de fonction ultra simple mais bien pratique:
Code:
1 2 3 4 5 6 7 8
| inline unsigned byte_swap(unsigned u)
{
__asm
{
mov eax,[u]
bswap eax
}
} |
Cependant je constate que le paramètre u est sytématiquement placé sur la pile (quelques soient les options d'optimization choisies) alors que la fonction est inliné, ce qui est idiot AMHA.
Peut-on forcer un passage par registre ?
Exemple (surement faux):
Code:
1 2 3 4 5 6 7
| inline unsigned byte_swap(register eax unsigned u)
{
__asm
{
bswap eax
}
} |
Merci.