Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[vs 2003] fonction inline

1 réponse
Avatar
Michael Moreno
Bonjour,

J'ai trouve dans System.Runtime.CompilerServices comment ne pas mettre
une fonction inline. Il faut utiliser l'attribut:
[MethodImpl(MethodImplOptions.NoInlining)]

En revanche je n'ai pas trouve comment la mettre inline.

Pourriez-vous m'aider svp ?

Merci.

--
----
http://michael.moreno.free.fr/

1 réponse

Avatar
Eric Vernié [MS]
Bonjour Michael,

Cet attribut ne s'applique que pour le Just In Time Compilateur. Et lui
indique de ne pas "inliner" la méthode.
L'inverse n'est pas possible, car le JIT n'en fait qu'a ça tête et
"inlinera" une méthode sous certaine condition et ceci dépendra sans doute
du langage que tu utilises. En C++ tu peux forcer le compilateur à inliner
certaine méthode, en C# et en VB.NET il faut t'en remettre au JIT
Compilateur ou au code tu écrits.
Par contre tu peux l'y aider car l'inlining se fera sous certaines
conditions.

Pour t'assurer ce que fait le Jit Compilateur tu peux lancer le debuggeur
cordbg de la manière suivante.
1) Sous le mode console lances cordbg.Exe
2) vérifies le mode d'optimisation en place: Tapes la commande "Mode"
3) Si le mode JitOptimizations=0 met le à 1: Tapes la commande
"JitOptimizations 1"
4) Execute ton programme : Tapes "run TonProgramme.Exe"
5) Affiche le code Assembleur : Tapes "dis 20"


La prochaine version de Visual Studio 2005, le compilateur C++/CLI (C++ pour
.NET) inlinera le code IL generé lorsqu'il le pourra et aide ainsi le JIT

Cordialement

Eric Vernié
Microsoft France





"Michael Moreno" wrote in message
news:
Bonjour,

J'ai trouve dans System.Runtime.CompilerServices comment ne pas mettre une
fonction inline. Il faut utiliser l'attribut:
[MethodImpl(MethodImplOptions.NoInlining)]

En revanche je n'ai pas trouve comment la mettre inline.

Pourriez-vous m'aider svp ?

Merci.

--
----
http://michael.moreno.free.fr/