C a-t-il une limite de profondeur de récursion comme Python ?
Contrairement à Python qui a une profondeur de récursion maximale en raison de sa nature interprétée, C est compilé et ne le fait pas directement confrontés à de telles restrictions. Cependant, C a sa propre limite de récursivité imposée par le système d'exploitation via la taille de pile qu'il alloue.
La taille de la pile en C est généralement nettement plus petite que la RAM disponible et peut être modifiée dans le système d'exploitation (comme en utilisant ulimit sur les systèmes Unix). Sur macOS, la limite de pile par défaut est de 8 Mo.
Pour calculer la profondeur de récursion maximale, il est nécessaire de déterminer la taille de l'enregistrement d'activation de la fonction récursive. Cela peut être fait à l'aide du désassembleur d'un débogueur pour déterminer les ajustements du pointeur de pile. Cela donne une estimation plus précise par rapport à d'autres méthodes telles que le calcul de la différence entre les pointeurs dans les appels de fonction.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3