Как сохранить консольное приложение visual studio
В наше время open source проекты все популярнее. На площадках открытых проектов, например, на github можно найти множество полезных программ, но они не всегда имеют исполняемые файлы ("exe"), поэтому я постараюсь рассказать о том, как можно собрать самостоятельно C/C++ программу, из исходников, написанную на Microsoft Visual Studio.
Первым делом нам необходимо загрузить онлайн установщик Microsoft Visual Studio, с официального сайта. Для компиляции С/С++ проектов нет необходимости во всех пакетах и можно выбрать только те, которые нам необходимы.
Установщик загрузит необходимые пакеты из интернета и установит их.
После установки Visual Studio можно убедиться, что всё работает создав тестовый проект и скомпилировав его. Для этого нажмите в меню "Файл" → "Создать" → "Проект. "
После чего появится диалог выбора типа проекта, где можно выбрать:
- Консольное приложение;
- Классическое приложение;
- Библиотеку динамической компоновки (dll);
- Статическую библиотеку;
В нашем случае для быстрой проверки подойдет консольное приложение, выбираем название и папку проекта , после чего жмём кнопку "ОК" и создается наша программа.
После этого остается остается лишь скомпилировать её, для этого нужно выбрать в меню "Сборка" и нажать на пункт "Собрать решение".
Далее наш проект скомпилируется и в папке проекта появится наш тестовый исполняемый файл ("exe").
Если всё работает как надо, то можно приступать к сборке какого-нибудь другого открытого проекта с github или другого хостинга проектов.
Первым делом нам нужно загрузить исходники проекта. На площадке github это делается довольно просто, жмем на кнопку "Code" и "Download ZIP". После чего нужно распаковать его и можно приступать к сборке.
Ищем файл с расширением ".vcxproj" и запускаем его. Перед нами появится диалог в котором нам предложат обновить SDK проекта (набор библиотек для разработки, которые Microsoft периодически обновляет) и набор инструментов, жмём обновить.
Теперь наш проект можно собрать, но до сборки необходимо выбрать разрядность проекта (например, для 32 битной системы или 64 битной), а также тип сборки (отладочный режим - debug или release).
Выбираем 64 битную систему и тип сборки релиз, после чего компилируем проект. Как и ранее нужно выбрать в меню "Сборка" и нажать на пункт "Собрать решение".
Некоторые проектам требуется вручную изменить SDK и набор инструментов, на установленный у вас, для этого идём в свойства проекта, выбираем сверху типа сборки и разрядность системы и уже там изменяем SDK и набор инструментов. В выпадающем меню появляются установленные у нас версии, выбираем их и нажимаем "ОК". После чего наш проект скомпилируется.
Бывает, что проект использует сторонние библиотеки, для этого их нужно загрузить отдельно и положить в папку. Узнать путь или изменить его можно в свойстве проекта, в разделе "С/C++" → "Общие" → "Дополнительные каталоги включаемых файлов".
Бывает, что SDK или набор инструментов, в свойстве проекта не изменяется в диалоге, чтобы изменить их нужно записать номер SDK, закрыть Visual Studio и вручную, блокнотом изменить этот номер в файле проекта ".vcxproj".
При возникновении других проблем можно попробовать их загуглить, возможно, что кто-то уже сталкивался с ними и решил их.
Предварительные требования
Создание приложения
Запустите Visual Studio Code.
В главном меню выберите Файл>Открыть папку (в macOS выберите File>Open. (Файл > Открыть)).
В диалоговом окне Открыть папку создайте папку HelloWorld и выберите ее. Затем щелкните Выбрать папку (или Открыть в macOS).
Имя папки по умолчанию преобразуется в имя проекта и имя пространства имен. Вы добавите код позже в этом учебнике. Предполагается, что пространство имен проекта — HelloWorld .
В диалоговом окне о доверии авторам файлов в этой папке выберите Да, я доверяю авторам.
Откройте терминал в Visual Studio Code, выбрав в основном меню пункт Вид>Терминал.
Откроется окно Терминал с командной строкой в папке HelloWorld.
В окне терминала введите следующую команду:
Шаблон проекта создает простое приложение, которое отображает "Hello World" в окне консоли, вызывая метод Console.WriteLine(String) из файла Program.cs.
Замените содержимое Program.cs кодом из этого примера.
При первом редактировании файла .cs в Visual Studio Code будет предложено добавить недостающие ресурсы для сборки и отладки приложения. Выберите Да и Visual Studio Code создаст папку .vscode с файлами launch.json и tasks.json.
Если запрос не отображается или вы случайно закрываете его без нажатия кнопки "Да", выполните следующие действия, чтобы создать launch.json и tasks.json:
- Выберите "КонфигурацияRunAdd>" в меню.
- Выберите .NET 5+ и .NET Core в командной строке "Выбор среды ".
Код определяет класс Program с одним методом Main , который принимает массив String в качестве аргумента. Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args.
Запуск приложения
Выполните следующие команды в окне терминала:
Программа отображает "Hello World!" и заканчивается.
Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
Откройте файл Program.cs.
В Program.cs замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
Этот код отображает запрос в окне консоли и ожидает, чтобы пользователь ввел строку текста и нажал клавишу ВВОД . Приложение сохраняет полученную строку в переменной с именем name . Оно также получает значение свойства DateTime.Now, которое содержит текущее локальное время, и присваивает его переменной с именем currentDate . Затем оно отображает эти значения в окне консоли. Наконец, приложение выводит запрос в окне консоли и вызывает метод Console.ReadKey(Boolean) для ожидания ввода данных пользователем.
Знак доллара ( $ ) перед строкой позволяет вставить такие выражения, как имена переменных, в фигурные скобки в строке. Значение выражения вставляется в строку вместо выражения. Такой синтаксис называется интерполированными строками.
В Visual Studio Code необходимо явно сохранить изменения. В отличие от Visual Studio, изменения файлов не сохраняются автоматически при сборке и запуске приложения.
Запустите программу еще раз:
В ответ на приглашение в командной строке введите имя и нажмите клавишу ВВОД .
Нажмите любую клавишу для выхода из программы.
Дополнительные ресурсы
Следующие шаги
Предварительные требования
Создание приложения
Запустите Visual Studio Code.
В главном меню выберите Файл>Открыть папку (в macOS выберите File>Open. (Файл > Открыть)).
В диалоговом окне Открытие папки создайте папку HelloWorld и щелкните Выбрать папку (в macOS щелкните Open (Открыть)).
Имя папки по умолчанию преобразуется в имя проекта и имя пространства имен. Вы добавите код позже в этом учебнике. Предполагается, что пространство имен проекта — HelloWorld .
Откройте терминал в Visual Studio Code, выбрав в основном меню пункт Вид>Терминал.
Откроется окно Терминал с командной строкой в папке HelloWorld.
В окне терминала введите следующую команду:
Этот шаблон создает простое приложение Hello World. Он вызывает метод Console.WriteLine(String) для вывода "Hello World!" в окне консоли.
Код шаблона определяет класс Program с одним методом Main , который принимает в качестве аргумента массив String.
Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args.
Запуск приложения
Выполните следующие команды в окне терминала:
Программа отображает "Hello World!" и заканчивается.
Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
Откройте файл Program.cs, щелкнув его.
Когда в Visual Studio Code будет предложено добавить недостающие ресурсы для сборки и отладки приложения, выберите Да.
В Program.cs замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
Этот код отображает запрос в окне консоли и ожидает, чтобы пользователь ввел строку текста и нажал клавишу ВВОД . Приложение сохраняет полученную строку в переменной с именем name . Оно также получает значение свойства DateTime.Now, которое содержит текущее локальное время, и присваивает его переменной с именем currentDate . Затем оно отображает эти значения в окне консоли. Наконец, приложение выводит запрос в окне консоли и вызывает метод Console.ReadKey(Boolean) для ожидания ввода данных пользователем.
Знак доллара ( $ ) перед строкой позволяет вставить такие выражения, как имена переменных, в фигурные скобки в строке. Значение выражения вставляется в строку вместо выражения. Такой синтаксис называется интерполированными строками.
В Visual Studio Code необходимо явно сохранить изменения. В отличие от Visual Studio, изменения файлов не сохраняются автоматически при сборке и запуске приложения.
Запустите программу еще раз:
В ответ на приглашение в командной строке введите имя и нажмите клавишу ВВОД .
Нажмите любую клавишу для выхода из программы.
Дополнительные ресурсы
Следующие шаги
Как мы можем сохранить все файлы в (VSCode), как мы делаем в Visual Studio
Как мы можем сохранить все файлы в коде Visual Studio, как мы делаем в Visual Studio, нажав Ctrl + Shift + S ?
Не похоже, что есть ярлык привязки к нему.
Простейшим способом было бы использовать ускорители меню: ALT + f, а затем ALT + l .
Чтобы изменить привязку клавиш, отредактируйте настройки клавиатуры.
Добавьте привязку к правой половине экрана и перезапустите код:
В визуальном коде студии на сегодняшний день вы можете нажать Ctrl+K+S сохранить все несохраненные файлы, открытые в данный момент в вашем редакторе.
A word of caution о сочетаниях сочетаний клавиш, присутствующих в тексте описания пунктов меню:
Единственный прием, на который следует обратить внимание, это то, что комбинация клавиш [Ctrl+K S] отображается с текстом пункта меню, создается впечатление, что вы должны нажать Ctrl ключ, держи Ctrl нажмите клавишу, а затем нажмите клавиши K а также S один за другим в быстрой последовательности. Это не тот случай.
После нажатия Ctrl + K комбинация, отпустите оба Ctrl а также K ключи, а затем нажмите S ключ отдельно. Для случаев, когда Ctrl Клавиша должна быть постоянно нажата, она будет отображаться как [Ctrl + K Ctrl + O] (открыть новую папку) в тексте пункта меню.
Как мы можем сохранить все файлы в (VSCode), как в Visual Studio
Как мы можем сохранить все файлы в Visual Studio Code, как мы это делаем в Visual Studio, нажав Ctrl + Shift + S ?
Не похоже, что к нему привязан ярлык.
Самый простой способ — использовать ускорители меню: ALT + f , за которым следует ALT + l .
Чтобы изменить привязку клавиш, отредактируйте настройки клавиатуры.
Добавьте привязку к правой половине экрана и перезапустите Code:
Поддерживается в последних версиях Моя версия: 1.39.1
Этот keybindings.json переключает сочетания клавиш Save All и Save так, чтобы Cmd + S был привязан к Save All :
Для пользователей Windows сочетание клавиш отображается как 11-й параметр в меню «Файл» как:
Отображаемое сочетание клавиш соответствует следующему:
Нажмите Ctrl + k
Отпустите клавиши Ctrl и k .
Это применимо к другой команде «Закрыть рабочее пространство», которую можно найти в меню «Файл» (вместо нажатия s вы нажимаете f ).
Для пользователя Windows — код Visual Studio имеет Ctrl + K, S
Это сохранит все измененные файлы за один раз. Освобождение является основным моментом, поскольку новый пользователь нажимает клавишу S с клавишей Ctrl, которая открывает файл ярлыков клавиатуры.
В коде Visual Studio с сегодняшнего дня вы можете нажать Ctrl + K + S , чтобы сохранить все несохраненные файлы, открытые в данный момент в вашем редакторе.
Предостережение относительно сочетаний клавиш, присутствующих в тексте описания пунктов меню, выглядит следующим образом:
Здесь следует отметить трюк: комбинация клавиш Ctrl + K S , отображаемая вместе с текстом пункта меню, создает впечатление, что вы должны нажать Ctrl , удерживайте нажатой клавишу Ctrl и затем быстро последовательно нажимайте клавиши K и S . Это не случай.
После нажатия комбинации Ctrl + K отпустите обе клавиши Ctrl и K , а затем нажмите S ключ отдельно. В случаях, когда клавишу Ctrl необходимо удерживать нажатой постоянно, она будет отображаться, например, как [ Ctrl + K Ctrl + O ] (для открытия новой папки) в тексте пункта меню.
Как мы можем сохранить все файлы в (VSCode), как в Visual Studio
Как мы можем сохранить все файлы в коде Visual Studio, как мы делаем в Visual Studio, нажав Ctrl + Shift + S ?
Не похоже, что есть ярлык привязки к нему.
Простейшим способом было бы использовать ускорители меню: ALT + f, а затем ALT + l .
Чтобы изменить привязку клавиш, отредактируйте настройки клавиатуры.
Добавьте привязку к правой половине экрана и перезапустите код:
На сегодняшний день в Visual Studio Code вы можете нажать Ctrl + K + S , чтобы сохранить все несохраненные файлы, открытые в данный момент в вашем редакторе.
A word of caution о сочетаниях клавиш, представленных в тексте описания пунктов меню:
Уловка, которую следует здесь отметить, заключается в том, что комбинация клавиш [Ctrl+K S] , показанная с текстом пункта меню, создает впечатление, что вы должны нажать клавишу Ctrl , удерживать нажатой клавишу Ctrl , а затем нажимать клавиши K и S один за другим в быстрой последовательности. Это не случай.
После нажатия комбинации Ctrl + K отпустите клавиши Ctrl и K , а затем нажмите клавишу S по отдельности. В тех случаях, когда клавиша Ctrl должна удерживаться в нажатом положении, она будет отображаться, например, как. [Ctrl + K Ctrl + O] (открыть новую папку) в тексте пункта меню.
Я начинаю в Visual C++ , и я хотел бы знать, как сохранить окно консоли.
например, это будет типичное приложение "hello world":
какую строку я пропускаю?
начните проект с Сочетание Клавиш Ctrl+Клавишу F5 вместо Ф5 .
обратите внимание, что для этого требуется Console (/SUBSYSTEM:CONSOLE) опция компоновщика, которую вы можете включить следующим образом:
- откройте проект и перейдите в Обозреватель решений. Если вы следуете вместе со мной в K&R, ваше "решение" будет "Привет" с 1 проектом под ним, а также "привет" в смелый.
- щелкните правой кнопкой мыши на" hello " (или как бы ни назывался ваш проект.)
- выберите "Свойства"в контекстном меню.
- Выберите Свойства Конфигурации>Компоновщик>Система.
- для свойства "подсистема"в правой области щелкните раскрывающийся список в правом столбце.
- выберите " консоль (/подсистема: консоль)"
- нажмите "Применить", дождитесь завершения работы, затем нажмите "ОК". (Если "применить" выделено серым цветом, выберите другой параметр подсистемы, нажмите кнопку Применить, затем вернитесь и примените параметр консоли. Мой опыт показывает, что OK сам по себе не будет работать.)
CTRL-F5 и подсказки подсистемы работают вместе; они не являются отдельными параметрами.
стандартный путь cin.get() перед вашим оператором return.
поставить точку останова на return линии.
вы запускаете его в отладчике, верно?
хотя это не очень портативный, потому что он будет работать только на Windows, но он будет автоматически печатать
нажмите любую клавишу для продолжения.
для проектов makefile принятое решение не выполняется из - за ошибки в Visual Studio (которая присутствует по крайней мере до версии 2012-я еще не тестировал 2013). Эта ошибка подробно здесь.
чтобы приостановить работу консоли после завершения программы в проекте makefile, выполните следующие действия (это может отличаться для версий, отличных от 2010 - 2012):
1) Pass /SUBSYSTEM:CONSOLE компоновщику. - редактировать: см под.
2) Откройте файл проекта (.vcxproj) в текстовом редакторе.
3) Внутри корневой тег, вставить следующее:
4) перезагрузите проект в своем решении.
5) запустите программу без отладки (CTRL + F5).
EDIT:
согласно моему комментарию ниже, установка опции компоновщика /SUBSYSTEM:CONSOLE на самом деле не имеет значения для проектов Makefile (и не обязательно даже возможно, если вы используете компилятор, отличный от MSVC). Все дело в том, что параметр добавляется .файл vcxproj, согласно шагу 3 выше.
можно использовать cin.get(); или cin.ignore(); непосредственно перед инструкцией return, чтобы избежать закрытия окна консоли.
просто добавьте точку останова в закрывающую скобку вашего _tmain метод. Это более простой способ плюс вам не нужно добавлять код для отладки.
просто поставьте точку останова на последней фигурной скобке main.
поместите точку останова на конец скобки main() . Он будет получить споткнулся даже с несколькими return заявления. Единственным недостатком является то, что вызов exit() не будет пойман.
Если вы не отлаживаете, следуйте советам в ответе Зойдберга и начните свою программу с Ctrl + Ф5 просто Ф5 .
cin.get (), или system("PAUSE"). Я не слышал, что вы можете использовать return (0);
была та же проблема . Я использую _getch () непосредственно перед оператором return. Это работает.
у меня была та же проблема; в моем приложении есть несколько точек выхода (), и не было никакого способа узнать, где именно он выходит, тогда я узнал об этом:
таким образом, он остановится независимо от того, где мы выходим из программы.
выбор 1: добавьте точку останова в конце main()
выбор 2: Добавьте этот код перед return 0; :
(некоторые опции могут быть вызваны разными именами. Я не использую английскую версию)
У меня была такая же проблема, когда я создавал проекты с опцией "пустой проект", создавал проект как "Win32-консольное приложение" вместо "пустой проект" . В появившемся диалоговом окне вы нажимаете "Продолжить", после чего можете проверить опцию" пустой проект "и нажать "подтвердить". После этого CTRL + F5 откроет консоль, которая не закрывается автоматически.
можно просто поставить keep_window_open (); перед возвращением вот один пример
просто добавьте систему ("пауза") в конце кода перед возвращением 0, как это
на самом деле, реальным решением является выбор самого шаблона проекта. Необходимо выбрать консольное приложение Win32 в старой версии VS или сначала заполнить имя проекта, а затем дважды щелкните мастер рабочего стола Windows и выберите консольное приложение Win32. Затем выберите пустой проект на этом этапе. Это затем позволяет то, что оригинальный спрашивающий действительно хотел без добавления дополнительной точки остановки и удерживайте код. Я тоже прошел через эту проблему. Ответ также находится в MSDN сайт.
вот способ сохранить окно команды открытым независимо от того, как выполнение останавливается без изменения кода:
на команда, enter $(ComSpec)
на Аргументы Командной Строки, enter /k $(TargetPath) . Добавьте любые аргументы в собственное приложение.
теперь Ф5 или Сочетания Клавиш Ctrl-Клавишу F5 выполняет Windows / System32 / cmd.exe в новом окне, и / k гарантирует, что командная строка остается открытой после завершения обработки.
недостатком является то, что выполнение не останавливается на точках останова.
EXE является форматом, без которого не обходится ни одно программное обеспечение. Им выполняются все процессы запуска или установки программ. Он может представлять собой как полноценное приложение, так и быть его частью.
Способы создания
Существует два варианта создания EXE файла. Первый — это использование сред для программирования, а второй — применение специальных инсталляторов, при помощи которых создаются разные «репаки» и пакеты, устанавливаемые в один клик. Далее на примерах рассмотрим оба варианта.
Способ 1: Visual Studio Community
Рассмотрим процесс создания простой программы на основе языка программирования «Visual С++» и ее компиляции в Visual Studio Community.
- Запускаем приложение, заходим в меню «Файл», после чего жмем по пункту «Создать», а затем в открывшемся перечне на «Проект».
int main(int argc, char* argv[]) printf("Hello, World!");
_getch();
return 0;
>
Примечание: Текст кода выше — это просто пример. Вместо него необходимо использовать собственный код для создания программы на языке «Visual С++».
Способ 2: Инсталляторы
Для автоматизации процесса установки ПО все более широкую популярность завоевывают так называемые инсталляторы. С их помощью создается софт, основной задачей которого является упрощение процесса развертывания ПО на компьютере. Рассмотрим процесс создания EXE файла на примере Smart Install Maker.
-
Запускаем программу и во вкладке «Информация» редактируем наименование будущего приложения. В поле «Сохранить как» нажимаем по значку папки для определения местоположения, куда будет сохранен выходной файл.
Таким образом, в данной статье мы выяснили, что EXE файл может создаваться как при помощи специализированных сред разработки программ, например Visual Studio Community, так и специальными инсталляторами, к примеру, Smart Install Maker.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Читайте также: