Pouvez vous me dire l'interet des fonctions inline:
Ce que je sais:
A la place d'un appel de la fonction ,le compilateur recopie
le code de la fonction:
Quelle difference pour le programmeur
MERCI ,bonne prog
l'interet est : performance. si ta fonction est grosse, et appelée tres peu souvent, tu peux la mettre en inline (sinon gare a la place de l'exe). si elle est petiten genre "juste retourner un int", autant la mettre en inline, l'execution sera plus rapide.
le compilateur a le droit de ne pas inliner certaines fonctions. certaines ne le seront jamais : les fonction recursives, les fonction contenant des boucles, etc. je connais pas ttes les condition exactement....
Une fonction avec boucle peut tout a fait passer en inline, suffit de regarder la sortie asm du compilo pour s'en convaincre.
VS possede aussi des options de compilation a cet effet.
pr VS 2003 je savais pas, mais jfk n'est peut-etre pas sous VS 2003, il vaut mieux qu'il connaisse les regles generales que comment marche visual 2003 qui n'est peut-etre meme pas son compilo.......
Oui c'etait couru comme affaire, les petits blocs ne sont jamais conserves, ça evite les empilages.
Sur VS, il y a une option a cocher si on veut garder les fonctions intrinseques, c'est tout dire qu'il previent des substitutions.
Tout cela est devenu standard et comme d'hab les 'standards' seront adaptes avec un train de retard, tout comme nos generaux etaient toujours en retard d'une guerre.
c'est parfois les compilos qui sont en retard sur les standards
en fait chaque compilos possede ses particularités (souvent son propre runtime), gcc possede meme son extension du langage c qui autorise l'imbrication de fonctions