Anthony Fleury writes: | Pourquoi cette restriction ??
Il faut une exigence quelque part. Oui bien tu la mets sur l'utilisateur ou bien tu la mets sur l'implémenteur (ou parfois les deux). Cela demande plus d'infrastructure d'inliner trans uniter de traduction que d'avoir le corps disponible dans chaque unité de traduction. Si tu demandes trop de travail aux implémenteurs, ils ne feront qu'à leurs têtes et il peut arriver qu'ils fassent n'importe quoi. Et que tu n'aies pas la fonctionnalité que tu veux. Alors, tu demandes un peu d'effort de la part de l'utilisateur. N'oublie pas, « inline » a été introduit en C with Classes vers 1981 avec l'exigence que ce soit utile ici et maintenant. 25 ans plus tard, peu de progrès ont été faits :-(
Merci pour cette réponse, en fait je ne savais pas que inline datait d'autant (je n'étais pas encore né) et je ne voyais pas le pourquoi de cette restriction étant donné que, comme l'a précisé James ensuite, il y a export. Et je m'étais persuadé un jour de reflexion que si export existait sur un compilateur alors inline pouvait facilement avoir le comportement actuel mais sans que la définition de la fonction ne soit présente dans toute unité de traduction. Apparement je ne m'étais pas trompé ?!
Anthony -- "You could be my unintended, choice to live my life extended You should be the one I'll always love, I'll be there as soon as I can But I'm busy mending broken pieces of the life I had before" (C) Muse - Unintended
Gabriel Dos Reis wrote:
Anthony Fleury <fleury_anthony@_hotmail_.com> writes:
| Pourquoi cette restriction ??
Il faut une exigence quelque part. Oui bien tu la mets sur
l'utilisateur ou bien tu la mets sur l'implémenteur (ou parfois les
deux). Cela demande plus d'infrastructure d'inliner trans uniter de
traduction que d'avoir le corps disponible dans chaque unité de
traduction. Si tu demandes trop de travail aux implémenteurs, ils ne
feront qu'à leurs têtes et il peut arriver qu'ils fassent n'importe
quoi. Et que tu n'aies pas la fonctionnalité que tu veux.
Alors, tu demandes un peu d'effort de la part de l'utilisateur.
N'oublie pas, « inline » a été introduit en C with Classes vers 1981
avec l'exigence que ce soit utile ici et maintenant. 25 ans plus tard,
peu de progrès ont été faits :-(
Merci pour cette réponse, en fait je ne savais pas que inline datait
d'autant (je n'étais pas encore né) et je ne voyais pas le pourquoi de
cette restriction étant donné que, comme l'a précisé James ensuite, il y a
export. Et je m'étais persuadé un jour de reflexion que si export existait
sur un compilateur alors inline pouvait facilement avoir le comportement
actuel mais sans que la définition de la fonction ne soit présente dans
toute unité de traduction. Apparement je ne m'étais pas trompé ?!
Anthony
--
"You could be my unintended, choice to live my life extended
You should be the one I'll always love, I'll be there as soon as I can
But I'm busy mending broken pieces of the life I had before"
(C) Muse - Unintended
Anthony Fleury writes: | Pourquoi cette restriction ??
Il faut une exigence quelque part. Oui bien tu la mets sur l'utilisateur ou bien tu la mets sur l'implémenteur (ou parfois les deux). Cela demande plus d'infrastructure d'inliner trans uniter de traduction que d'avoir le corps disponible dans chaque unité de traduction. Si tu demandes trop de travail aux implémenteurs, ils ne feront qu'à leurs têtes et il peut arriver qu'ils fassent n'importe quoi. Et que tu n'aies pas la fonctionnalité que tu veux. Alors, tu demandes un peu d'effort de la part de l'utilisateur. N'oublie pas, « inline » a été introduit en C with Classes vers 1981 avec l'exigence que ce soit utile ici et maintenant. 25 ans plus tard, peu de progrès ont été faits :-(
Merci pour cette réponse, en fait je ne savais pas que inline datait d'autant (je n'étais pas encore né) et je ne voyais pas le pourquoi de cette restriction étant donné que, comme l'a précisé James ensuite, il y a export. Et je m'étais persuadé un jour de reflexion que si export existait sur un compilateur alors inline pouvait facilement avoir le comportement actuel mais sans que la définition de la fonction ne soit présente dans toute unité de traduction. Apparement je ne m'étais pas trompé ?!
Anthony -- "You could be my unintended, choice to live my life extended You should be the one I'll always love, I'll be there as soon as I can But I'm busy mending broken pieces of the life I had before" (C) Muse - Unintended