Запуск небольших программ на С++ в Visual Studio без создания проектов

Есть ли способ создания/запуска небольших программ на С++ в Visual Studio без создания проектов?

Например, если у меня есть файл hello.cpp, могу ли я скомпилировать его с hello.exe без проекта?

Ответы

Ответ 1

Идея GMan о том, что проект "песочница" является хорошим, поскольку он позволяет легко тестировать многофайловые тесты. Я называю свой "cppTest".

Однако, если вы просто хотите скомпилировать любой файл C или С++, который у вас есть, просто создайте простой "Внешний инструмент". На самом деле, это не так просто, как должно быть.

Сначала создайте командный файл, который настроит среду компилятора и запустит компилятор. Что-то вроде следующего:

@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%

В диалоговом окне "Инструменты/Внешние инструменты..." добавьте новый элемент и заполните следующие поля:

  • Название: &Compile File
  • Команда: c:\path\to\runcl.cmd
  • Аргументы: $(ItemPath)
  • Начальный каталог: $(ItemDir)

  • установите флажок "Использовать окно вывода"

Теперь вы можете использовать пункт "Файл компиляции" в меню "Инструменты", чтобы скомпилировать все, что является открытым файлом в данный момент. Вы даже можете дважды щелкнуть по ошибкам в окне вывода, чтобы вы попали в строки с ошибками.

Есть некоторые ограничения с некоторыми из них, которые вы можете исправить, запустив командный файл или, возможно, с помощью макроса Visual Studio (я не очень хорошо знаком с макросами VS).

  • Если вы не сохранили файл, компилятор будет работать против последнего сохранения. В настройке External Tools нет опции принудительного сохранения.
  • если вы запустите команду и не будет активен файл C или С++, пакетный файл упадет
  • есть, вероятно, немало других областей, в которых пакетный файл будет запутан.

Приятная вещь в таком пакетном файле, что вы также можете использовать его, чтобы помочь интегрировать компилятор в различные редакторы, которые позволяют вам обращаться к внешним инструментам, таким как UltraEdit, Zeus Editor, EditPad Pro, PSPad, Блокнот программиста и т.д. и др.

Если вам нравится, я опубликовал пакетный файл, который я использую для интеграции нескольких компиляторов в такие редакторы, как выше. Этот командный файл обрабатывает несколько компиляторов, включая различные компиляторы MSVC от версий с 6 по 9, цифровые маркеры, компиляторы MinGW и Comeau (используемый компилятор выбирается дополнительным параметром). Пакетный файл довольно запутанный (к сожалению, характер командных файлов Windows, которые имеют какую-либо сложность). Но я нахожу, что это упрощает использование этих вещей от разных редакторов. Я могу быстро набрать несколько ключей, которые я назначил компиляторам, чтобы скомпилировать один файл с 5 различными компиляторами, чтобы я мог легко проверить совместимость.

Я не делаю promises об этом, кроме того, что считаю его полезным для моих собственных целей - если вы тоже это делаете, отлично. В противном случае не используйте его...

Ответ 2

В рамках реальной IDE я не думаю, что можно запустить небольшую программу, вам нужно использовать командную строку, как предположил Мэтт.

Решение, которое у меня есть для этой проблемы, заключается в том, что у меня есть один проект на моих компьютерах под названием "песочница", у которого просто есть main.cpp, и там, где я могу возиться.

Это позволило мне попробовать все здесь и там, но мне никогда не нужно начинать новый проект.

Ответ 3

Один из способов сделать это - создать общий проект, такой как песочница, тест или даже Hello World, а затем добавить и удалить исходные файлы, чтобы изменить то, что вы хотите сделать. Вы даже можете удалить старый исходный файл, а затем добавить новое, чтобы начать с нового. Это быстро и легко, позволяя возвращать созданные программы.