1

J'ai l'impression que lorsque l'on déclare un prototype du type :

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) ?

2

sachant que GCC fait une compilation en une passe (ie il lit le fichier et genere le code objets directement) si la fonction n'est pas déclaré avant l'inlinage, il ne peut PAS l'inclure)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

3

En effet. Cela dit, ça a changé dans GCC 3.4, donc ça changera dans TIGCC 0.96 (qui sera vraisemblablement basé sur GCC 4.0). Mot-clé: unit-at-a-time.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4

Kevin Kofler :
En effet. Cela dit, ça a changé dans GCC 3.4, donc ça changera dans TIGCC 0.96 (qui sera vraisemblablement basé sur GCC 4.0). Mot-clé: unit-at-a-time.

Ok, merci pour l'info ...

5