IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

utilité de __fastcall dans les fonctions?


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut utilité de __fastcall dans les fonctions?
    Bonjour a tous,

    une question toute bête: A quoi sert exactement __fastcall? est-il utile? Faut t'il le mettre aussi pour les fonction que l'on creer soit même?

    Je sais que les fonction créee automatiquement par l'envirronnement contiennent toutes __fastcall :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    /***************************************************************************/
    void __fastcall TFPrinc::BtnQuitClick(TObject *Sender)
    /***************************************************************************/
    {
       Close();
    }
    Lorsque je crée une fonction a moi, je ne met pas __fastcall, est-ce grave?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    /***************************************************************************/
    void  TFPrinc::MaFonction( int MonParametre)
    /***************************************************************************/
    {
       // TO DO
    }
    Merci a ceux qui voudront bien m'éclairer sur ce fameux __fastcall, et me dire quand l'utilise / quand ne pas l'utiliser!

    Merci !

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut
    salut ,

    je pense que c'est une option de compilation pour garder les parametres de la fonction en cache pour etre réutiliser rapidement !!!!!!!!!!

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 385
    Par défaut
    c'est bien détaillé dans les FAQ de c++builder ici

  4. #4
    Membre Expert
    Avatar de sat83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 040
    Par défaut
    Ok, merci!

    Je crois que j'ai plus qu'a ajouté __fastcall pour toutes mes fonctions!

    [pour info pour ceux qui tomberont ici, le lien precis est celui-ci ]






    ----------------
    blog : http://fc-feldkirch1984.over-blog.org

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    J'en profite pour mettre l'accent sur le fait que ça ne soit pas toujours utile.
    Quelques détails ici (ici, c'est pour le __fastcall 16 bits microsoft, mais les "problèmes" sont les mêmes) : http://blogs.msdn.com/oldnewthing/ar.../02/47184.aspx
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Nouveau candidat au Club
    Profil pro
    Chef de projet et consultant
    Inscrit en
    Août 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet et consultant

    Informations forums :
    Inscription : Août 2005
    Messages : 2
    Par défaut
    Le sujet date mais pour précision l'utilisation de __fastcall oblige le compilateur à utiliser les registres pour transmettre les paramètres.

    A++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/06/2010, 16h24
  2. [FLASH 8] Ciblage dans les fonctions
    Par abenhass dans le forum Flash
    Réponses: 2
    Dernier message: 14/12/2005, 14h00
  3. "_" dans les fonctions
    Par reggae dans le forum C
    Réponses: 3
    Dernier message: 30/09/2005, 19h08
  4. Réponses: 2
    Dernier message: 07/10/2004, 17h00
  5. [plpgsql] transaction dans les fonctions ?
    Par hpghost dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 27/06/2004, 16h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo