OVH Cloud OVH Cloud

pile

2 réponses
Avatar
mcm
Bonjour,

Je voudrais savoir si la pile d'exécution d'un programme c# correspond à
celle d'un programme en API native d'un point de vue technique. Plus
particulièrement, je voudrais savoir si des problèmes de stack overflow
peuvent survenir en c# aussi ?

merci.

2 réponses

Avatar
Ambassadeur Kosh
> Je voudrais savoir si la pile d'exécution d'un programme c# correspond à
celle d'un programme en API native d'un point de vue technique.



oui

Plus
particulièrement, je voudrais savoir si des problèmes de stack overflow
peuvent survenir en c# aussi ?



oui

private static void f(int n)
{
if(n%2==0)
f(n+1) ;
else
f(n-1) ;
}
Avatar
Bruno Jouhier [MVP]
"Ambassadeur Kosh" a écrit dans le message de
news: %23CCx$
Je voudrais savoir si la pile d'exécution d'un programme c# correspond à
celle d'un programme en API native d'un point de vue technique.



oui

Plus
particulièrement, je voudrais savoir si des problèmes de stack overflow
peuvent survenir en c# aussi ?



oui



Une petite différence toutefois: en C# la VM signalera (en principe)
l'overflow en lançant une StackOverflowException (que l'on peut "catcher")
alors qu'en natif, les conséquences d'un dépassement de pile sont en
générales plus aléatoires et plus difficilement récupérables.


private static void f(int n)
{
if(n%2==0)
f(n+1) ;
else
f(n-1) ;
}





void f() { f(); } // marche aussi.