• [^] # Re: Oublies le C.

    Posté par (site web personnel) . En réponse au journal C(++) ?. Évalué à 3.

    il vaut mieux ne pas utiliser les fonctionnalités trop récentes, parce qu'elles risquent de n'être supportées que par g++.

    Pareil pour C.

    Le mangling n'étant pas standardisé, chaque compilo utilise le sien propre.

    Il existe un standard (Itanium C++ ABI) qui est respecté par GCC et par clang.
    On peux parfaitement lier des binaires clang et GCC ensemble.

    Par ailleur, le C n'a pas d'ABI standard non plus. (Les conventions d'appel de fonction en C sont aussi différente en fonction du compilo)

    Il n'est pas imaginable de linker deux libs binaires produites par deux compilos différents.

    Pas de problème pour lier des libs compilé avec clang et GCC.

    Pire, deux versions différentes d'une même suite de compilation peuvent être incompatibles entre elles (c'est le cas de g++, qui pète régulièrement la compatibilité du mangling).

    Il ne l'ont plus cassé depuis qu'ils utiliser l'ABI Itanium pour GCC 3.2 en 2002. J'apelle pas ça régulier.

    Alors là, je demande à voir. Tu vas faire du extern "C" de toute façon.

    Non je ne vais pas utiliser extern "C" de toute façon, je disait que c'était possible.
    Pour voir, regarde les bindings python de Qt par exemple.