inline void toto();
ou
inline void toto() __attribute__((always_inline)) ;
Le compilateur n'en tient pas compte s'il ne rencontre pas l'implémentation de la fonction avant l'appel de la fonction. Exemple :
inline void toto() __attribute__((always_inline)) ; void toto () { printf("hello!"); } void _main () { toto() ; // l'inlining se fait }
vs
inline void toto() __attribute__((always_inline)) ; void _main () { toto() ; // l'inlining ne se fait pas } void toto () { printf("hello!"); }
Est-ce que je vois juste (empiriquement, c'est ce que j'obtiens) ?