Как запустить программу с

от admin

Как запустить программу с

БлогNot. Как запустить программу из программы на C++

Как запустить программу из программы на C++

Отвечаю на вопрос, но обзорно, много кода здесь не ждите 🙂

В большинстве комплияторов C++ есть несколько возможностей. Смотря что Вы имеете в виду под запуском программы из программы — выполнение команды операционки внутри Вашей программы, запуск дочернего процесса, независимый запуск приложения и т.п.

1. Через функцию system :

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

2. Через функцию CreateProcess . Хороший пример, есть, скажем, в MSDN.

3. Через функцию WinExec :

Можно запускать дочернюю программу сразу свёрнутой, дав второму параметру значение SW_SHOWMINIMIZED

4. Из программы нужно открыть файл другой программой, например, текстовый файл Блокнотом. Делается через ту же system (п.1), просто нужно запустить наш Блокнот с параметром:

5. Есть минимум 2 семейства функций в стандарте C++ — spawn и exec , см., например, в лекциях, п. 8.13.

Среды разработки

Для создания программы на C++ нам нужны, как минимум, две вещи: текстовый редактор для набора кода и компилятор для превращения этого кода в приложение. При этом для компиляции необходимо запускать консоль или терминал. Однако есть и более удобный способ — использование различных сред разработки или IDE. Они, как правило, содержит встроенный текстовый редактор, компилятор и позволяют скомпилировать и запустить программу по одному клику мыши, а также имеют еще множество разных вспомогательных возможностей.

Для программирования под Windows наиболее популярной средой разработки, если говорить о C++, является Visual Studio. Данную среду можно найти по ссылке https://visualstudio.microsoft.com/ru/vs/community/.

После загрузки и запуска установщика Visual Studio в нем необходимо отметить пункт Разработка классических приложений на C++ :

Выбрав все необходимые пункты, нажмем ОК для запуска установки. После установки Visual Studio создадим первый проект. Для этого откроем Visual Studio. На стартовом экране среди шаблонов проектов для языка C++ выберем тип Console App , который представляет шаблон консольного приложения:

Первый проект на C++ в Visual Studio

На следующем экране в поле для имени проекта дадим проекту имя HelloApp и также можно указать расположение проекта. И затем нажмем на Create для создания проекта.

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

После этого Visual Studio создаст типовой проект консольного приложения на C++.

Первый проект консольного приложения на C++ в Visual Studio

Справа в окне Solution Explorer отображается структура проекта. В реальности окно Solution Explorer содержит в решение. В данном случае оно называется HelloApp. Решение может содержать несколько проектов. По умолчанию у нас один проект, который имеет то же имя — HelloApp. В проекте есть ряд узлов:

External Dependencies : отображает файлы, которые используются в файлах исходного кода, но не являются частью проекта

Header Files : предназначена для хранения заголовочных файлов с расширением .h

Resource Files : предназначена для хранения файлов ресурсов, например, изображений

Source Files : хранит файлы с исходным кодом

По умолчанию каталог Source Files содержит один файл с исходным кодом — HelloApp.cpp ( название проекта + расширение файла .cpp — как правило, исходные файлы на C++ имеют расширение .сpp ).

HelloApp.cpp содержит код на языке C++, и именно этот код мы можем увидеть в слева в текстовом редакторе Visual Studio. По умолчанию HelloApp.cpp содержит следующий код:

Здесь использован весь тот код, который был рассмотрен в начальных темах.

Теперь запустим программу. Для этого в Visual Studio нажмем на сочетание клавиш Ctrl+F5 или выберем пункт меню Debug -> Start Without Debugging :

Запуск программы на C++ в Visual Studio

И в итоге Visual Studio передаст исходный код компилятору, который скомпилирует из кода исполняемый файл exe, который потом будет запущен на выполнение. И мы увидим на запущенной консоли наше сообщение:

Первое приложение на языке программирования C++

После этого на жестком диске в папке решения в каталоге \x64\Debug скомпилированный файл exe, который мы можем запускать независимо от Visual Studio:

Компиляция кода на языке программирования C++

В данном случае файл HelloApp.exe как раз и представляет скомпилированный исполняемый файл. И, кроме того, в той же папке автоматически генерируется вспомогательный файл — HelloApp.pdb , который содержит отладочную информацию.

Настройка проекта

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

Установка стандарта языка программирования C++ в среде Visual Studio

А в окне свойств перейдем к пункту Configuration Properties -> C/C++ -> Language . На открывшемся окне свойств с помощью опции C++ Language Standard можно задать стандарт языка, который мы хотим использовать:

Урок 1 — Первая программа

Чтобы начать писать на С++ вы должны скачать компилятор, например вместе со средой Bloodshed Dev-C++, Codeblocks или Qt Creator. В этом уроке мы разберем:

  • Мы как выглядит и работает простейщая программа на С++
  • Как запустить эту программу — на примерах таких IDE, как Qt Creator и CodeBlocks. .

1 Простейшая программа на C++

Самая первая программа на любом языке программирования это программа — «Hello, world!» . Код приведу сразу:

Разберем каждую строку:

  • #include <iostream> — подключение библиотеки iostream для ввода-вывода. Она, в частности, позволяет использовать конструкцию cout << для вывода на экран.
  • int main() < код функции >— примерно так в С++ описываются функции, с которыми мы будем разбираться более детально в последующих уроках. Сейчас надо знать, что любая программа на С++ должна иметь функцию main ;
  • std::cout << "Hello, world! \n"; — этой строкой мы и выводим «Hello, world!» на экран, ‘\n’ делает перенос строки.
  • std::cin.get(); — эта команда ждет нажатия клавиши (приостанавливает нашу программу).
  • return 0; — возвращает основной функции значение нуля, что означает успешное завершение программы.

2 Запуск программы

Теперь запустим нашу программу, для этого нам потребуется установить среду разработки. В любой среде разработки вам потребуется:

  • создать проект;
  • добавить (если не был создан автоматически) файл исходного кода — обычно это main.cpp;
  • поместить код программы, описанный в предыдущем разделе в этот файл;
  • нажать кнопку «запустить»

Ниже приведены инструкции для начала работы в Qt Creator и CodeBlocks.

2.1 Запуск программы в Qt Creator

При установке Qt установите компоненты для разработки для платформы Desktop. В этом случае, даже если у вас в системе не был установлен компилятор, отладчик и прочее — вы сможете начать программировать. На скриншоте ниже показано как может выглядеть соответствующее окно (у вас может быть иначе):

Не выбирайте все опции подряд, их установка может потребовать много места на диске. Qt Creator и комплект разработки в нашем случае займет на диске примерно 400 Мб (а не гигабайты, как в случае с Microsoft Visual Studio).

Читать:
Куда ставить бумагу в принтере фирма hp

Вы установили Qt Creator, запустили его, нажали кнопку «создать новый проект». В появившемся окне вам нужно выбрать либо «Приложение->Консольное приложение Qt», либо «Проект без Qt->Приложение на языке С++». В данный момент нам нет разницы.

Вводим путь к каталогу проекта (проверьте, чтобы он не содержал русских букв и пробелов), вводим его имя, выбираем комплект разработки (вам нужно выбрать что-то типа Desktop, т.к. сейчас мы будем писать программы для компьютера, а не телефонов).

В открывшемся проекте будет файл main.cpp, скопируйте в него код, приведенный выше и нажмите F5. Программа будет скомпилирована и запущена. результаты выполнения могут быть как выведены в окно (как показано на рисунке), так и отображены в отдельной вкладке «Вывод приложения».

Часто, при отладке программ вывод удобнее получать во вкладке — задать это можно в настройках проекта. Во вкладке «сборка и запуск» найдите используемый комплект разработки (в данном случае Desktop), для него в найтроках запуска снимите опцию «запускать в терминале».

2.2 Запуск программы в CodeBlocks

При установке CodeBlocks в окошке выбора «компонентов для установки» выбираем либо standart, либо full (принципиальной разницы нет).

При первом запуске программа выдаст сообщение-вопрос: «хотите ли вы ассоциировать файлы исходного кода на С и С++ со средой CodeBlocks», — выбираем вариант «ассоциировать». Впоследствии файлы с расширениями .c и .cpp будут автоматически открыты в этой среде.

Также при первом запуске может выскочить окошко-сообщение о выборе компилятора по умолчанию — оставляем все как есть по умолчанию, т.е. GNU GCC Compiler.

Итак, среда запущена и теперь можно приступать к созданию проекта. По умолчанию в CodeBlocks при запуске открывается стартовая страница, на которой располагаются кнопки для создания проектов, открытия через проводник, открытия последних проектов. Щелкаем по «Create a new project» (Создать новый проект). В появившемся окошке выбираем значок «Console application» и жмем GO. Таким образом мы будем с вами создавать наши проекты для построения консольных приложений на языке программирования С++.

Настраивая проект, указываем язык С++, вводим название проекта и папку в которой он у нас будет находиться.

В следующем окошке выбора компилятора оставляем все как есть (если нет галочек, то ставим как на рисунке ниже) и жмем Finish.

Структуру проекта вы можете посмотреть слева на панели «Management» (вкладка «Projects»). Здесь мы видим, что в проект (в папку «Sourses») средой автоматически добавлен файл «main.cpp» (файл, содержащий исходный код программы). В нем то мы и будем писать код нашей программы. Открываем и заменяем его содержимое на описанный выше «hello world».

Как вы помните, программу нужно скомпилировать, построить, а затем запустить на выполнение. Все это можно сделать через меню программы, но удобнее все же делать через панель (она расположена сверху). Находим кнопочку, которая внешне напоминает шестеренку (при наведении курсора всплывает подсказка «build»), она служит для компиляции и построения проекта. Нажимаем и наблюдаем за процессом внизу на панели «Logs» (вкладка «build messages». Если панель у вас эта не видна, то нажмите клавишу F2). Если ошибок нет, то значит компиляция прошла успешно!

Теперь можно запустить программу на выполнение. Для этого жмем кнопочку рядом, в виде треугольника («Run»). Должно появиться такое окошко программы, как изображено ниже.

3 Компиляция и запуск программы (что делает IDE)

Существует множество ошибок, которые можно допустить из-за непонимания процесса сборки программы. Нужно понимать, что любой, чуть более сложный чем hello-world, проект программисты разделяют на модули (набор .cpp и .h файлов). В хорошо спроектированной программе эти модули будут очень простыми. Например, в проекте Qt Simple Browser нет файлов из более чем 200 строк кода, хотя — это полнофункциональный браузер с историей просмотра, горячими клавишами, вкладками и т.п.

.h-файлы называются заголовочными, а .cpp — файлами реализации. Заголовочные файлы могут включаться друг в друга, а также внутрь файлов реализации с помощью директивы #include . В рассмотренном примере мы включали подобным образом библиотеку iostream .

Среда программирования использует ряд утилит для формирования исполняемого файла на основе исходного кода — препроцессор, компилятор и компоновщик. Схематично процесс сборке показан ниже:

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

С++ Как запустить программу?

Написать программу обработки файла, содержащего информацию о рейтинге студентов. Каждая запись должна содержать Ф.И.О. и полученный балл рейтинга. Вывести информацию, отсортированную в порядке увеличения рейтинга. Результаты выполнения программы сохранить в текстовом файле. При работе с файлом должны быть выполнены следующие действия: создание, просмотр, добавление новой записи, сортировка, сохранение результатов.

Код программы:

Ошибка №1

E:\CProjects\1\main.cpp [Error] two or more data types in declaration of ‘main’ E:\CProjects\1\Makefile.win recipe for target ‘main.o’ failed

Ругается вот на эту строку:

Ошибка №2

E:\CProjects\1\main.cpp In function ‘int main()’:

E:\CProjects\1\main.cpp [Error] return-statement with no value, in function returning ‘int’ [-fpermissive]

E:\CProjects\1\main.cpp [Error] return-statement with no value, in function returning ‘int’ [-fpermissive]

E:\CProjects\1\main.cpp [Error] return-statement with no value, in function returning ‘int’ [-fpermissive]

E:\CProjects\1\Makefile.win recipe for target ‘main.o’ failed

Ругается на return

Само собой — вы говорите примерно «а это моя левая правая рука».

В случае main , к счастью, выбора никакого нет — main возвращает int и только int .

Так что уберите из этой строки void .

Далее, второе аргумент — или char*argv[] , или char**argv , но не ваш вариант. Выберите что-то одно.

Потом — все return в функции main обязаны возвращать значения. Какие — ваше дело. Обычно это код ошибки; если выход штатный и ошибок нет — return 0 .

Потом, забудьте про функцию gets ! Считайте, что ее нет в стандарте (а ее по большому счету там и нет. ) fgets из stdin или gets_s , но не gets !

Если будет ругань из-за переменной size — VC++ 2017 ругается — то укажите в тексте явно, что вы обращаетесь к глобальной переменной, написав вместо size — ::size .

Похожие статьи