• [^] # Re: plop

    Posté par (site web personnel) . En réponse au journal Retour aux sources. Évalué à 2.

    Pour le moment j'ai aucun problème avec, l'auto reload de cmake fonctionne plutôt bien, la complétion aussi.
    Ça prend un peu de ram quand même... mais sinon c'est sympa, il y a des symboles pour passer du prototype à l'implémentation d'une méthode facilement, l'intégration aux gestionnaires de sources est bonne, etc.

    Le problème des macros est quand même assez spécifique, genre si on utiliser __LINE__ ou __COUNTER__ pour créer des variables uniques, les deux macros ne sont pas bien interprétées et sont à 0. Résultat les variables uniques ne le sont plus pour l'IDE et il affiche en rouge.

    Ex :

    #define UNIQUE_2(name, line) name##line
    #define UNIQUE_1(name, line) UNIQUE_2(name, line)
    #define UNIQUE(name) UNIQUE_1(name, __LINE__)
    int UNIQUE(plop);
    int UNIQUE(plop);

    Le résultat devrait être

    int plop5;
    int plop6;

    pour CLion le résultat est

    int plop0;
    int plop0;

    Et donc forcément ça ne passe pas. Bon c'est génant mais pas ultra horrible. Le problème c'est que c'est souvent utilisé dans les framework de tests unitaires.

    D'ailleurs question bonus, si quelqu'un sait comment faire une macro pour avoir un nom de variable unique sans __LINE__ ni __COUNTER__ ça m'intéresse vraiment ;-)