Visual studio 2010 sortie après la fin du programme
Je suis en train de sortir de Visual studio 2010 par la compilation d'un programme C. Après il affiche la solution dans le "DOS" de la fenêtre de commande, la fenêtre se ferme immédiatement. Dans Visual studio 2008, on obtient le message appuyez sur une touche pour continuer et appuyer sur une touche pour fermer la fenêtre d'invite de commande. Comment puis-je régler ce problème en 2010?
Il n'est pas différent dans VS2010, en appuyant sur Ctrl+F5 appelle la "appuyez sur une touche quelconque de l'invite" lorsque le programme se termine.
Oui, je sais ce raccourci pour "exécuter sans débogage" mais dans mon cas, la fenêtre de la console devient immédiatement licencié. Ce qui est étrange.
Oui, je sais ce raccourci pour "exécuter sans débogage" mais dans mon cas, la fenêtre de la console devient immédiatement licencié. Ce qui est étrange.
OriginalL'auteur yCalleecharan | 2010-04-14
Vous devez vous connecter pour publier un commentaire.
Après un peu de recherche sur google, j'ai trouvé cette solution qui n'implique pas de modification de votre code. Il contient une solution de contournement qui implique la modification de votre .fichier vcxproj.
À faire à partir de Microsoft Visual C++ 2010 Express (je suis en supposant qu'il en est de même pour Visual Studio 2010), ouvrez votre projet et accédez au menu suivant:
Puis utilisez le menu déroulant pour sélectionner Console (/SUBSYSTEM:CONSOLE) et appliquer la modification.
"Exécuter sans débogage" devrait faire la bonne chose maintenant.
Un grand merci pour avoir signalé ce bug ici.
Cela fonctionne très bien pour moi de vous remercier. Est-il un moyen pour appliquer automatiquement cette solution à tous les projets?
OriginalL'auteur vitavim
La raison à cela est parce que maintenant dans VS 2010, il est possible de créer un vide, C++ générique de projet par défaut, sans avoir à passer par l'assistant. Cela provoque VS 2010 de ne pas définir correctement la
Console (/SUBSYSTEM:CONSOLE)
drapeau et ainsi de VS2010 n'a aucune idée de c'est une application console pour qu'elle enverra l'habituel "Appuyez sur une touche..." invite de commandes.Ce problème ne se produit pas si vous créez une Application Console type de projet dans le Nouveau menu Projet.
Mais ensuite, vous pouvez définir cet indicateur vous-même et beaucoup d'autres, à travers le Projet/Paramètres, comme le post ci-dessus a répondu correctement!
OriginalL'auteur linnx88
C'est normal. Le "DOS" de la fenêtre de console est connectée à votre programme et il est censé sortir quand le programme se termine. Si vous souhaitez rester ouvert, vous devez ajouter le code de votre programme pour le garder ouvert. Tout ce que vous avez à faire est d'ajouter une instruction print et puis à l'entrée de déclaration à la fin de votre programme.
OriginalL'auteur Joel Coehoorn
Si vous souhaitez rester ouvert, vous devez ajouter le code de votre programme. Comme il
si vous ajoutez ce code ,votre écran noir séjour à l'ouverture. " system("pause") " à l'intérieur de la stdlib.h fichier d'en-tête.
Merci mec..fonctionne bien
OriginalL'auteur gzdcnklc
FWIW, la "exécuter Sans Débogage" commande fonctionne dans VS2010 exactement de la même manière qu'il le fait pour moi dans les précédentes versions de Visual Studio (qui est, pour un projet de type console la console reste ouverte lorsque le processus se termine avec un "Appuyez sur n'importe quelle touche pour continuer . . ." l'invite de commandes).
Exactement comment en êtes-vous VS2010 pour exécuter votre programme? Si vous êtes à l'aide de la touche "Ctrl + F5" de raccourci, vous pouvez vérifier que Ctrl-F5 est lié à
Debug.StartWithoutDebugging
dans "Options/Environnement/Clavier"?Aussi, pouvez-vous essayer de lancer votre programme en utilisant le menu ("Debug/exécuter Sans Débogage")?
Intéressant - je ne suis pas au courant d'un paramètre qui contrôle ce.
Oui, c'est difficile à croire cet étrange comportement.
OriginalL'auteur Michael Burr
Apporter "Démarrer sans debug" dans le menu Debug...
Outils >> Personnaliser >> Commandes(Onglet) >> barre de Menu(menu déroulant) >> Debug(Contrôles Option) >> Ajouter une Commande(bouton) >> Debug(Liste des Catégories) >> Démarrage sans debug
À l'aide de "Démarrer sans debug" Permettra VS2010 pour afficher l'écran "Appuyez sur une touche pour continuer" phrase avant de quitter.
OriginalL'auteur Gem
Si vous lancez votre application sans debugger ("exécuter sans débogage"), la fenêtre de la console restera ouvert jusqu'à ce que vous appuyez sur une touche.
Je peux confirmer que l'utilisation de "exécuter sans débogage" en 2010, permet de ne pas garder la fenêtre de la console ouverte une fois que le programme se termine.
Maintenant, ce qui est étrange. Je n'ai pas le même comportement sur mon Visual Studio...
Oui, avec Visual studio 2008, il se comporte comme prévu. J'ai redémarré ma machine mais j'ai toujours le même comportement étrange avec 2010.
OriginalL'auteur Cătălin Pitiș
Vous pouvez ajouter cette fonction et de l'appeler juste avant le retour de main():
J'ai adapté à partir d'une version C++ dans un utilitaire fichier d'en-tête à Bjarne Stroustrup du site:
http://www.stroustrup.com/Programming/std_lib_facilities.h
Vous avez raison, selon la FAQ c: c-faq.com/stdio/stdinflush.html fflush n'est défini que pour les flux de sortie. Le lien de descendre de l'entrée de la FAQ explique comment éliminer d'entrée: c-faq.com/stdio/stdinflush2.html
Merci pour le lien.
1 vote. Ce morceau de code a été un sauveur. Mais vitavim (voir le post sur le dessus) a trouvé une bonne solution pour ce bug et je l'accepte vitavim réponse.
OriginalL'auteur Darel