Aller au contenu Aller au menu
  • Dépêches
  • Journaux
  • Liens
  • Forums
  • Rédaction
  • 🎙️ Projets Libres

LinuxFr.org

Se connecter

Proposer un contenu

  • Pas de compte ? S’inscrire...

Re: extern "C", pointer to member function,

Retourner au contenu associé (journal : Conversion entre pointeurs de fonctions incompatibles)

  • [^] # Re: extern "C", pointer to member function,

    Posté par Gof (site web personnel) le 07 novembre 2018 à 17:19. En réponse au journal Conversion entre pointeurs de fonctions incompatibles. Évalué à 2. Dernière modification le 07 novembre 2018 à 17:20.

    Oui, ça peut aussi changer la convention d'appel en principe.
    (Bien que sur toute les architecture que je connaisse, c'est la même en C et en C++)

    Cf §5.2.2 [expr.call] http://eel.is/c++draft/expr.call

    Calling a function through an expression whose function type is different from the function type of the called function's definition results in undefined behavior.

    https://docs.oracle.com/cd/E19059-01/wrkshp50/805-4956/bajdcjch/index.html

    En particulier, ça veux aussi dire que si on a une ça:

    extern "C" void c_function_with_callback(void (*f)(int));
    int foo() {
     // Undefined behavior: le lambda a un linkage C++ 
     c_function_with_callback([](int x) { std::cout << x; } );
    }
    

    https://stackoverflow.com/questions/7301543/can-a-lambda-have-extern-c-linkage

Revenir en haut de page

Derniers commentaires

  • Re: C'est bien placé
  • Re: mais qui aurait pu le prédire
  • Re: Pratique en cascade
  • Re: mais qui aurait pu le prédire
  • Re: mais qui aurait pu le prédire
  • Re: Compléments sur la téléphonie
  • Re: les goûts, les couleurs
  • Re: mais qui aurait pu le prédire
  • Re: mais qui aurait pu le prédire
  • Re: mais qui aurait pu le prédire
  • Re: J'ai des noms !
  • Re: mais qui aurait pu le prédire

Étiquettes (tags) populaires

  • intelligence_artificielle
  • le_monde_diplomatique
  • grands_modèles_de_langage
  • merdification
  • états-unis
  • capitalisme
  • canicule
  • réchauffement_climatique
  • logiciel_libre
  • datacenter
  • france
  • bigtech

Sites amis

  • Agenda du Libre
  • April
  • Éditions D-BookeR
  • Éditions Diamond
  • Éditions Eyrolles
  • Éditions ENI
  • En Vente Libre
  • Framasoft
  • La Quadrature du Net
  • Lea-Linux
  • Open Source Initiative
  • Imprimerie Grafik Plus

À propos de LinuxFr.org

  • Mentions légales
  • Faire un don
  • L’équipe de LinuxFr.org
  • Informations sur le site
  • Aide / Foire aux questions
  • Suivi des suggestions et bogues
  • Wiki du site
  • Règles de modération
  • Statistiques
  • API pour le développement
  • Code source du site
  • Plan du site

AltStyle によって変換されたページ (->オリジナル) /