2009-05-19 7 views
14

Existe-t-il un moyen de générer/exécuter de petits programmes C++ dans Visual Studio sans créer de projets?Exécution de petits programmes C++ dans Visual Studio sans créer de projets

Par exemple, si j'ai un fichier hello.cpp, puis-je le compiler à hello.exe sans un projet?

+3

Pourriez-vous simplement utiliser cl (http://msdn.microsoft.com/en-us/library/9s7c9wdw(VS.71).aspx) et make ou nmake (http://msdn.microsoft.com/fr -us/library/dd9y37ha (VS.71) .aspx)? –

+0

Merci, mais est-il possible de faire cela dans l'EDI VS2008 en ayant recours à la ligne de commande/make/nmake? Pouvez-vous suggérer un petit IDE qui pourrait m'aider? Meilleures salutations – user109134

+1

Bien sûr, il y a beaucoup d'IDE que vous pouvez utiliser pour cela, mais pas Visual Studio. Essayez Code :: Blocks (http://www.codeblocks.org/). –

Répondre

7

GMan's idea d'avoir un projet 'sandbox' est un bon projet, car il permet d'essayer facilement des tests multi-fichiers. J'appelle le mien "cppTest".

Cependant, si vous voulez juste compiler n'importe quel fichier C ou C++ que vous avez ouvert, créez simplement un "outil externe". En fait, ce n'est pas aussi simple que cela devrait probablement l'être. Commencez par créer un fichier de commandes qui configurera l'environnement du compilateur et exécutera le compilateur. Quelque chose comme ce qui suit:

@rem - runcl.cmd 
@rem  a batch file to drive simple VC9 compiles 
#rem 
@echo off 

set LIBRARIES=kernel32.lib user32.lib advapi32.lib shlwapi.lib oleaut32.lib 
set WIN32_WINNT=0x0500 

call "%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat" 

echo Visual C/C++ 2008 (VC 9.0) Compile... 
set CC="%ProgramFiles%\Microsoft Visual Studio 9.0\VC\bin\cl.exe" /Zi /EHsc -D_WIN32_WINNT=%WIN32_WINNT% %1 /link /incremental:no %LIBRARIES% 
echo %CC% 
%CC% 

Dans l'onglet "Outils/Outils externes ..." dialogue, ajouter un nouvel élément et remplir les champs suivants:

  • Titre: &Compile File
  • Commande: c:\path\to\runcl.cmd
  • Arguments: $(ItemPath)
  • Répertoire initial: $(ItemDir)

  • vérifier l'élément « Utiliser la fenêtre de sortie » boîte

Maintenant, vous pouvez utiliser la fonction « Compiler Fichier » dans le menu Outils pour compiler tout ce qui est le fichier actuellement ouvert. Vous pouvez même double-cliquer sur les erreurs dans la fenêtre de sortie pour vous diriger vers les lignes avec des erreurs.

Il y a quelques limitations avec ceci que vous pouvez corriger en imaginant le fichier batch ou peut-être avec une macro Visual Studio (je ne connais pas très bien les macros VS).

  1. Si vous n'avez pas enregistré le fichier, la compilation s'exécutera contre la sauvegarde la plus récente. Il n'y a pas d'option dans la configuration des outils externes pour forcer une sauvegarde.
  2. si vous exécutez la commande et il n'y a pas un C ou C++ fichier actif, le fichier batch TOMBE
  3. il y a probablement quelques autres zones où le fichier batch se confondre

La belle Ce qui concerne un fichier de commandes comme celui-ci, c'est que vous pouvez également l'utiliser pour intégrer le compilateur dans divers éditeurs qui vous permettent d'appeler des outils externes, comme UltraEdit, Editeur Zeus, EditPad Pro, PSPad, Programmer's Notepad, etc.

Si vous le souhaitez, j'ai posté un fichier batch que j'utilise pour intégrer plusieurs compilateurs dans des éditeurs comme ci-dessus. Ce fichier batch gère plusieurs compilateurs, y compris différents compilateurs MSVC de la version 6 à la version 9, les compilateurs Digital Mars, MinGW et Comeau (le compilateur à utiliser est sélectionné par un paramètre supplémentaire). Le fichier batch est assez compliqué (malheureusement, c'est la nature des fichiers batch Windows qui ont n'importe quelle sorte de complexité). Mais je trouve que c'est très simple de faire fonctionner ces choses depuis différents éditeurs. Je peux rapidement appuyer sur quelques touches que j'ai assignées aux compilateurs pour compiler un seul fichier contre 5 compilateurs différents afin que je puisse tester facilement la compatibilité.

Je ne fais aucune promesse à ce sujet autre que je le trouve utile pour mes propres fins - si vous le faites aussi, génial. Dans le cas contraire, ne pas l'utiliser ...

8

Dans l'IDE actuel, je ne pense pas qu'il soit possible d'exécuter un petit programme, vous devez utiliser la ligne de commande comme suggéré Matt.

La solution que j'ai pour ce problème, c'est que j'ai un projet sur mes ordinateurs appelé "sandbox", qui a juste un main.cpp, et c'est là que je peux déconner.

Il me permet d'essayer des choses ici et là, mais je n'ai jamais besoin de continuer un nouveau projet.

+0

manquez pressant ctrl + v, ctrl + F9 :) – user109134

+3

L'inconvénient de ceci est parfois "jeter le code" s'avère utile plus tard, et si vous le faites de cette façon, vous l'avez vraiment jeté. –

+1

Ma solution personnelle est d'avoir un dossier Tests avec seulement des projets d'application de test qui peuvent être une petite fonction principale ou plus. De cette façon, j'ai chaque test nommé. Création d'un programme de console simple dans MSVC prend environ 2 secondes (+ temps pour taper le nom du projet). – Klaim

0

Une façon de le faire est de construire un projet générique tel que bac à sable, test, ou même Bonjour tout le monde, puis ajouter et supprimer la source fichiers pour changer ce que vous voulez faire. Vous pouvez même supprimer l'ancien fichier source, puis ajouter un nouveau pour recommencer à zéro. C'est rapide et facile tout en permettant de retourner des programmes qui sont construits.

Questions connexes