_fastcall, __fastcall

De RAD Studio
Aller à : navigation, rechercher

Remonter à Liste alphabétique des mots clés - Index


Catégorie

Modificateurs, Extensions des mots clés

Syntaxe

return-value _fastcall function-name(parm-list)
return-value __fastcall function-name(parm-list)

Description

Utilisez le modificateur __fastcall pour déclarer des fonctions qui attendent des paramètres transmis dans les registres. Les trois premiers paramètres sont transmis (de gauche à droite) dans EAX, EDX et ECX, s'ils tiennent dans le registre. Les registres ne sont pas utilisés si le paramètre est de type virgule flottante ou struct.

Remarque : Toutes les fonctions membres de classe VCL et fonctions membres de classe form doivent utiliser la convention __fastcall.
Remarque : La fiche __fastcall (avec deux traits de soulignement) est la seule à être prise en charge par les compilateurs C++ améliorés par Clang.

Le compilateur traite cette convention d'appel comme un nouveau spécificateur de langage, dans les lignes de _cdecl et _pascal.

Les fonctions déclarées en utilisant _cdecl ou _pascal ne peuvent pas avoir aussi le modificateur _fastcall car elles utilisent la pile pour transmettre des paramètres. De même, le modificateur __fastcall ne peut pas être utilisé en même temps que _export.

Le compilateur préfixe le nom de fonction __fastcall avec le signe ("@"). Ce préfixe s'applique à la fois aux noms de fonctions C non substantypés et aux noms de fonctions C++ substantypés.

Pour implémenter __fastcall dans le style Microsoft C++, voir __msfastcall et __msreturn.

Remarque : Le modificateur __fastcall est soumis au substantypage. Voir la description de l'option BCC32-VC.

Voir aussi