J'essaye d'employer C/C++ (de préférence C) pour énumérer le registre de Windows entier, j'utilisais la récursion pour faire ceci mais je continue à courir dans des débordements de pile, que je comprends mais je ne peux pas penser à faites ceci sans recusion. Des conseils sur la façon de le faire sans récursion serait génial, merci.Recherche de registre
Répondre
Tant que votre récursion est juste une fois par niveau de sous-clé, I Je ne vois pas pourquoi cela devrait déborder la pile. Bien sûr, le registre de Windows est un cauchemar, mais je ne pense pas que ses hiérarchies de clés soient profondes de plusieurs milliers de niveaux.
Je suppose que vous utilisez des tableaux géants sur la pile, ce qui est une mauvaise idée en général, mais surtout avec la récursivité. Essayez d'allouer toutes les grandes données dont vous avez besoin avec malloc
à la place.
+1. Je l'ai fait avec la récursivité moi-même et n'ai eu aucun problème. – casablanca
Une recherche de pain d'abord serait une possibilité évidente. L'idée de base est d'utiliser une file d'attente pour chercher. Commencez par mettre la racine dans la file d'attente, puis répétez les étapes suivantes jusqu'à ce que la file d'attente soit vide:
- Obtenez un élément de la file d'attente.
- Énumérer son contenu.
- Ajouter les liens qu'il contient à la file d'attente.
... où « liens » seraient « sous-répertoires » pour un système de fichiers, « sous-clés » pour le registre, etc.
Cela semble fonctionner, avez-vous des liens vers des tutoriels ou un exemple de code que je pourrais utiliser? Parce que je n'ai aucune idée de ce dont vous parlez :) – Josh
Je ne peux pas penser à tout de suite de toute façon. Pardon. –
- 1. Recherche d'une clé dans le Registre - JScript
- 2. recherche Registre WiX retourne C: \ au lieu de chemin prévu
- 3. WOW6432Node problème de registre
- 4. pression de registre cuda
- 5. Autorisation de registre
- 6. processus de registre Erlang
- 7. Defragmenting le registre
- 8. Registre Hotkey
- 9. Comment obtenir le navigateur par défaut sans recherche de registre dans .NET?
- 10. déclaration de registre - Asterisk Realtime
- 11. Lecture d'une clé de registre
- 12. virtualisation de Registre Inhibiting programme
- 13. clé de Registre Supprimer erreur
- 14. Paramètres de sécurité du registre
- 15. Stack Pointer Valeurs de registre
- 16. Modifier les valeurs de registre
- 17. Efficacité des algorithmes d'allocation de registre
- 18. Comment faire pour supprimer la valeur de Registre et la clé de l'entrée de Registre
- 19. Accès Registre Windows
- 20. Registre Watcher C#
- 21. Suppression de valeurs de clé de registre
- 22. EntityFramework - LINQ REGISTRE Aider
- 23. DLL registre dans ASP.NET
- 24. ERROR_MORE_DATA ---- lecture du Registre
- 25. C# Registre Réglage
- 26. Configuration du déploiement (.Net) - Rechercher la machine cible -> Recherche dans le registre (64 bits)
- 27. Registre .net lecture écriture
- 28. Modèle de conception de registre d'événements?
- 29. Entrées de registre bloquées Prévention de désinstallation
- 30. Question de la ruche de registre
Qu'avez-vous réellement essayé [où est votre code]? – jacknad