Перейти к содержимому

Как запустить cpp файл в консоли

  • автор:

Создание и запуск проекта консольного приложения C++

Вы создали проект консольного приложения C++ и ввели код. Теперь вы можете выполнить сборку приложения и запустить его в Visual Studio. Затем запустите его как автономное приложение из командной строки.

Необходимые компоненты

  • Установите и запустите на своем компьютере Visual Studio с рабочей нагрузкой Разработка классических приложений на C++. Если установка еще не выполнена, следуйте инструкциям в статье Установка поддержки C++ в Visual Studio.
  • Создайте проект Hello, World!» По умолчанию он содержит код для печати Hello World! . Если вы еще не сделали этого, выполните действия, описанные в разделе Создание проекта консольного приложения С++.

Если Visual Studio выглядит следующим образом, можно приступать к сборке и запуску приложения:

Screenshot of Visual Studio showing the Hello World source code in the editor.

Сборка и запуск кода в Visual Studio

  1. Для сборки проекта выберите в меню Сборка пункт Собрать решение. Окно Вывод отображает результаты процесса сборки.
  2. Чтобы запустить этот код, в строке меню выберите Отладка и Запуск без отладки. Открывается окно консоли, и запускается ваше приложение. При запуске консольного приложения в Visual Studio система выполняет код, а затем выводит сообщение «Нажмите любую клавишу, чтобы продолжить. . .», чтобы вы могли просмотреть выходные данные.

Поздравляем! Вы создали свое первое консольное приложение «Hello, world!» в Visual Studio! Нажмите любую клавишу, чтобы закрыть окно консоли и вернуться в редактор Visual Studio.

Выполнение кода в командном окне

Обычно консольные приложения запускаются из командной строки, а не в Visual Studio. После создания приложения Visual Studio его можно запустить из командного окна. Вот как можно найти и запустить новое приложение в окне командной строки.

  1. В обозревателе решений выберите решение HelloWorld (а не проект HelloWorld) и щелкните правой кнопкой мыши, чтобы открыть контекстное меню. Выберите Открыть папку в проводнике, чтобы открыть окно проводника в папке решения HelloWorld.
  1. В окне проводник откройте папку Debug . Эта папка содержит файлы приложения HelloWorld.exe и отладки. Удерживайте клавишу SHIFT и щелкните правой кнопкой мыши HelloWorld.exe , чтобы открыть контекстное меню. Выберите команду Копировать как путь, чтобы скопировать путь к приложению в буфер обмена.
  1. В окне проводник откройте x64 папку и затем папку Debug . Эта папка содержит файлы приложения HelloWorld.exe и отладки. Удерживайте клавишу SHIFT и щелкните правой кнопкой мыши HelloWorld.exe , чтобы открыть контекстное меню. Выберите команду Копировать как путь, чтобы скопировать путь к приложению в буфер обмена.
  1. Чтобы открыть окно командной строки, нажмите Windows + R, чтобы открыть диалоговое окно Выполнить. Введите cmd.exe в текстовом поле Открыть, а затем выберите ОК для запуска окна командной строки.
  2. В окне командной строки щелкните правой кнопкой мыши, чтобы вставить путь к приложению в командную строку. Нажмите клавишу ВВОД, чтобы запустить приложение.

Поздравляем! Вы создали и запустили консольное приложение в Visual Studio.

Дальнейшие действия

После создания и запуска этого простого приложения можно приступать к более сложным проектам. Дополнительные сведения см. в разделе Использование интегрированной среды разработки Visual Studio для разработки приложений для настольных систем на языке C++. В нем содержатся более подробные пошаговые руководства, посвященные возможностям Microsoft C++ в Visual Studio.

Руководство по устранению неполадок

Здесь приведены решения распространенных проблем, которые могут возникнуть при создании первого проекта C++.

Сборка и запуск кода в Visual Studio: проблемы

Если в редакторе исходного кода отображаются красные волнистые линии, то сборка может содержать ошибки или предупреждения. Убедитесь, что код соответствует примеру в написании, пунктуации и регистре.

Выполнение кода в командном окне: проблемы

Если путь, показанный в проводник заканчивается \HelloWorld\HelloWorld , вы открыли проект HelloWorld вместо решения HelloWorld. Вы будете путать папку Debug , которая не содержит ваше приложение. Перейдите на уровень вверх в проводнике, чтобы открыть папку решения — первый HelloWorld в пути. Эта папка также содержит папку Debug , и вы найдете там свое приложение.

Вы также можете перейти в папку решения Debug в командной строке, чтобы запустить приложение. Приложение не будет запускаться из других каталогов, если не указан путь к приложению. Однако вы можете скопировать приложение в другой каталог и запустить его из него. Его также можно скопировать в каталог, указанный PATH переменной среды, а затем запустить его из любого места.

Если путь, показанный в проводник заканчивается \HelloWorld\HelloWorld , вы открыли проект HelloWorld вместо решения HelloWorld. Вы будете путать папку x64\Debug , которая не содержит ваше приложение. Перейдите на уровень в проводник, чтобы перейти к папке решения, первой HelloWorld в пути. Эта папка также содержит папку x64\Debug , и вы найдете там свое приложение.

Вы также можете перейти в папку решения x64\Debug в командной строке, чтобы запустить приложение. Приложение не будет запускаться из других каталогов, если не указан путь к приложению. Однако вы можете скопировать приложение в другой каталог и запустить его из него. Его также можно скопировать в каталог, указанный PATH переменной среды, а затем запустить его из любого места.

Если в контекстном меню отсутствует параметр Копировать как путь, закройте меню, а затем удерживайте нажатой клавишу SHIFT при повторном открытии. Эта команда предназначена только для удобства. Можно также скопировать путь к папке из панели поиска проводника и вставить его в диалоговое окно Выполнить, а затем ввести имя исполняемого файла в конце. При этом потребуется чуть больше действий по вводу текста, но результат будет тем же.

Компилятор g++: запуск и использование

Компилятор g++ распространяется по лицензии GNU, Фондом свободного программного обеспечения (FSF), для nix-подобных ОС и является C++ компилятором, который управляется с помощью командной строки. g++ распространяется с nix системами, так что если вы работаете в ОС Unix или Linux, скорее всего в вашей системе уже установлен g++.
Чтобы запустить исходный код, с помощью компилятора g++, просто введите в терминале (командной строке) следующую команду:

g++ filename

После того, как исходный файл будет скомпилирован в исполняемый, на выходе мы получим файл с именем a и расширением .out — a.out .
Перед запуском g++ можно указать в командной строке имя исполняемого файла, который получим на выходе. Для этого необходимо указать параметр -o и присвоить нужное имя файла.

-o outputfile

Полностью команда будет выглядеть так:

g++ filename -o outputfile

Чтобы g++ показывал предупреждения об ошибках, а также поддерживал существующие стандарты языка C++, рекомендую использовать флаги:

Если вы хотите, чтобы компилятор рассматривал предупреждения как ошибки, — используйте флаг -Werror . И если появится хотя-бы одно предупреждение, то вы даже не получите исполняемый файл. Таким образом, вы точно будете знать, что не пропустили ни одной ошибки.

Если вы хотите, отлаживать исполняемый файл в отладчике GDB, включайте в команду флаг -g .

g++ filename -g -o outputfile

Это позволит отладчику GDB, дать вам подробную информацию о процессе отладки, в том числе дополнительный код в исполняемый файл.

Если вы используете *nix-подобные системы, вы также можете проверить другие опции компилятора g++, введя в командную строку следующую команду:

Создание разделяемых библиотек

Если вы хотите узнать, как создать общую библиотеку на Linux с gсс, прочитайте статью — как создать общую библиотеку на Linux с помощью gcc.

Как запустить отредактированный файл C++ в терминале Linux Ubuntu быстрее всего (кратчайшей командой)?

Я пользуюсь Ubuntu 20.10. Предположим, что у меня есть c++ файл testfile.cpp в следующем каталоге \home\username . Я хочу его запустить в терминале, для этого я перехожу в \home\username , после чего выполняю следующий код в терминале:

g++ -o testfile testfile.cpp ./testfile 

После чего код успешно выполняется.После чего, я редактирую код через редактор кода, сохраняю изменения в файле testfile.cpp , выполняю в терминале

cd /home/username ./testfile 

И терминал выдаёт мне результат старого кода. Если я проделываю опять процедуру

g++ -o testfile testfile.cpp ./testfile 

Все успешно работает. Посему вопрос, есть ли более короткие способы запустить c++ файл в терминале?Я хотел бы максимально коротко запускать отредактированный файл, не прописывая каждый раз g++ -o testfile testfile.cpp или make testfile в терминале.

Отслеживать
задан 29 ноя 2021 в 12:28
user450648 user450648

Запустить C++ файл вообще нельзя, можно запустить только программу, которая будет включать в себя код единицы трансляции этого файла. Соответственно после каждого редактирования необходимо будет пересобирать программу каким-либо способом. А вообще используйте IDE. Там и пересобираться все будет автоматически, и даже есть возможность менять код прямо по ходу выполнения программы.

29 ноя 2021 в 13:02

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Ужимаете в одну команду: g++ -o testfile testfile.cpp && ./testfile .

Чтобы запустить повторно, не пишете ее руками, а делаете ↑ Enter .

Если даже один раз писать надоедает, или флагов или файлов становится слишком много, то советую настроить какую-нибудь систему сборки (Make/CMake/. ) и/или в своем текстовом редакторе настроить хоткей под эту команду.

Отслеживать
ответ дан 29 ноя 2021 в 13:05
HolyBlackCat HolyBlackCat
26.9k 3 3 золотых знака 27 27 серебряных знаков 40 40 бронзовых знаков
Да, тоже хорошии идеи, спасибо!
– user450648
29 ноя 2021 в 13:06
«Ужимаете в одну команду» — это скорее ужатие двух команд в одну строчку
29 ноя 2021 в 13:07

если написать makefile, то можно просто make написать и все будет работать.

Если же совсем все плохо, то можно веселее.

Открываете консоль и пишите такое

и теперь любой с++ файл можно компилировать и запустить вот так

cr ~/mycpp/data/main.cpp 

Если скомпилировать не удалось, то запускать не будет. Результат компиляции забрасываем в /tmp, что бы не засорять текущий каталог. Да, в некоторых случаях на /tmp каталоге могут быть наложены так права, что бы нельзя было исполнять там бинарники, но это отдельная тема.

Если все работает как нужно, то открываем ~/.bashrc и аккуратно добавляем в конец (там иногда может быть много другого, так что действуем по обстоятельствам).

И на последок, почему cr ? это от compile & run , такая комбинация, как минимум у меня, не занята и она очень короткая.

Я бы на самом деле эту команду чуточку расширил

а также, -pedantic/-Wextra — что бы сразу давало побольше информации.

LibreBay

Статьи про ОС Ubuntu. Языки программирования Си и C++.
Инструменты разработки и многое другое.

понедельник, 5 декабря 2016 г.

Как скомпилировать программу на C/C++ в Ubuntu

ubuntu terminal

Помню, когда я только начинал программировать, у меня возник вопрос: «Как скомпилировать программу на C в Ubuntu?» Для новичков это не легкая задача, как может показаться на первый взгляд.

Мой путь изучения C начался с бестселлера «Брайан Керниган, Деннис Ритчи, Язык программирования C, 2-е издание». Там рассказывается как скомпилировать программу в операционной системе Unix, но этот способ не работает в Linux. Авторы книги выкрутились, написав следующее:

В других системах это процедура будет отличаться. Обратитесь к справочнику или специалисту за подробностями.

Побуду специалистом 🙂 и расскажу в данной статье, как скомпилировать первые программы на C и заодно на C++ в терминале Ubuntu.

Текстовый редактор gedit

Для написания первых программ подойдет обычный, используемый по умолчанию в Ubuntu, текстовый редактор с подсветкой синтаксиса — gedit.

Запуск текстового редактора
Рис. 1. Запуск текстового редактора.

Первой программой по традиции является «Hello, World!», выводящее приветствие на экран:

#include int main(int argc, char **argv)

Печатаем или копируем текст программы в gedit и сохраняем в файл Hello.c , например, на рабочий стол. Не самое лучше место для сохранения, но это позволит рассмотреть случай, когда в имени директории содержится пробел.

Программа hello, World!
Рис. 2. Программа hello, World.

Компиляция программы на C

Теперь запускаем терминал, можно через Dash, а можно с помощью горячих клавиш + + . Здесь в начале установим инструменты сборки, куда входят необходимые компиляторы gcc для языка C и g++ для языка C++:

sudo apt install build-essential

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

Далее в терминале нам необходимо перейти в директорию, куда сохранили файл с текстом программы. Перемещение выполняется командой cd (англ. change directory — изменить каталог). Чтобы воспользоваться командой в начале пишется cd , затем через пробел путь , куда нужно перейти.

Для перехода на рабочий стол, команда будет следующей:

cd ~/Рабочий\ стол

Обратите внимание на символ обратной косой черты \ в имени директории Рабочий стол . Обратная косая экранирует пробел, и сообщает команде cd , что пробел и следующие за ним символы являются частью имени. Символ ~ в начале пути обозначает путь до домашней папки пользователя.

Для просмотра содержимого директории применяется команда ls (сокращение от англ. list).

Работа в терминале
Рис. 3. Работа в терминале.

Команда компиляции для программы на C выглядит следующим образом:

gcc -Wall -o hello hello.c
  • gcc — компилятор для языка программирования C;
  • -Wall — ключ вывода всех предупреждений компилятора;
  • -o hello — с помощью ключа -o указывается имя выходного файла;
  • hello.c — имя нашего исходного файла, который компилируем.

В завершение запустим hello , вводом имени программы с префиксом ./ :

./hello

Префикс ./ сообщает терминалу о необходимости выполнить программу с заданным именем в текущем каталоге. (Точка — это условное название текущего каталога.)

Работа в терминале, продолжение
Рис. 4. Работа в терминале, продолжение.

Компиляция программы на С++

Программы на C++ компилируются аналогично, как и программы на C. «Hello, World!» на C++ можно написать так:

#include int main(int argc, char **argv)

Сохраняем текст программы в файл под именем hello2.cpp . Таким образом, команда компилирования будет иметь вид:

g++ -Wall -o hello2 hello2.cpp

Для запуска результата вводим в терминале:

./hello2

Заключение

Данный способ позволяет скомпилировать программу лишь из одного файла с исходным кодом. Но этого вполне достаточно, чтобы начать изучение языков программирования C/C++ по книгам или по статьям в интернете.

  • Иванов Н. Н. — Программирование в Linux. Самоучитель. — 2-е издание;
  • Нейл Метьэ, Ричард Стоунс — Основы программирования в Linux: Пер. с англ. — 4-е издание;
  • Колисниченко Д. Н. — Разработка Linux-приложений.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *