Урок №5. Компиляция вашей первой программы

  Юрий  | 

  |

  Обновл. 4 Сен 2021  | 

 281847

 ǀ   79 

Перед написанием нашей первой программы мы еще должны кое-что узнать.

Теория

Во-первых, несмотря на то, что код ваших программ находится в файлах .cpp, эти файлы добавляются в проект. Проект содержит все необходимые файлы вашей программы, а также сохраняет указанные вами настройки вашей IDE. Каждый раз, при открытии проекта, он запускается с того момента, на котором вы остановились в прошлый раз. При компиляции программы, проект говорит компилятору и линкеру, какие файлы нужно скомпилировать, а какие связать. Стоит отметить, что файлы проекта одной IDE не будут работать в другой IDE. Вам придется создать новый проект (в другой IDE).

Во-вторых, есть разные типы проектов. При создании нового проекта, вам нужно будет выбрать его тип. Все проекты, которые мы будем создавать на данных уроках, будут консольного типа. Это означает, что они запускаются в консоли (аналог командной строки). По умолчанию, консольные приложения не имеют графического интерфейса пользователя — GUI (сокр. от «Graphical User Interface») и компилируются в автономные исполняемые файлы. Это идеальный вариант для изучения языка C++, так как он сводит всю сложность к минимуму.

В-третьих, при создании нового проекта большинство IDE автоматически добавят ваш проект в рабочее пространство. Рабочее пространство — это своеобразный контейнер, который может содержать один или несколько связанных проектов. Несмотря на то, что вы можете добавить несколько проектов в одно рабочее пространство, все же рекомендуется создавать отдельное рабочее пространство для каждой программы. Это намного упрощает работу для новичков.

Традиционно, первой программой на новом языке программирования является всеми известная программа «Hello, world!». Мы не будем нарушать традиции 🙂

Пользователям Visual Studio


Для создания нового проекта в Visual Studio 2019, вам нужно сначала запустить эту IDE, затем выбрать "Файл" > "Создать" > "Проект":

Дальше появится диалоговое окно, где вам нужно будет выбрать "Консольное приложение Windows" из вкладки "Visual C++" и нажать "ОК":

Также вы можете указать имя проекта (любое) и его расположение (рекомендую ничего не менять) в соответствующих полях.

В текстовом редакторе вы увидите, что уже есть некоторый текст и код — удалите его, а затем напечатайте или скопируйте следующий код:

Вот, что у вас должно получиться:

ВАЖНОЕ ПРИМЕЧАНИЕ: Строка #include "pch.h" требуется только для пользователей Visual Studio 2017. Если вы используете Visual Studio 2019 (или более новую версию), то не нужно писать эту строку вообще.

Чтобы запустить программу в Visual Studio, нажмите комбинацию Ctrl+F5. Если всё хорошо, то вы увидите следующее:

Это означает, что компиляция прошла успешно и результат выполнения вашей программы следующий:

Hello, world!

Чтобы убрать строку «…завершает работу с кодом 0…», вам нужно перейти в "Отладка" > "Параметры":

Затем "Отладка" > "Общие" и поставить галочку возле "Автоматически закрыть консоль при остановке отладки" и нажать "ОК":

Тогда ваше консольное окно будет выглядеть следующим образом:


Готово! Мы научились компилировать программу в Visual Studio.

Пользователям Code::Blocks

Чтобы создать новый проект, запустите Code::Blocks, выберите "File" > "New" > "Project":

Затем появится диалоговое окно, где вам нужно будет выбрать "Console application" и нажать "Go":

Затем выберите язык "C++" и нажмите "Next":

Затем нужно указать имя проекта и его расположение (можете создать отдельную папку Projects) и нажать "Next":

В следующем диалоговом окне нужно будет нажать "Finish".

После всех этих манипуляций, вы увидите пустое рабочее пространство. Вам нужно будет открыть папку Sources в левой части экрана и дважды кликнуть по main.cpp:

Вы увидите, что программа «Hello, world!» уже написана!

Для того, чтобы скомпилировать ваш проект в Code::Blocks, нажмите Ctrl+F9, либо перейдите в меню "Build" и выберите "Build". Если всё пройдет хорошо, то вы увидете следующее во вкладке "Build log":

Это означает, что компиляция прошла успешно!

Чтобы запустить скомпилированную программу, нажмите Ctrl+F10, либо перейдите в меню "Build" и выберите "Run". Вы увидите следующее окно:

Это результат выполнения вашей программы.

Пользователям командной строки


Вставьте следующий код в текстовый файл с именем HelloWorld.cpp:

В командной строке напишите:

g++ -o HelloWorld HelloWorld.cpp

Эта команда выполнит компиляцию и линкинг файла HelloWorld.cpp.

Для запуска программы напишите:

HelloWorld или ./HelloWorld

И вы увидите результат выполнения вашей программы.

Пользователям веб-компиляторов

Вставьте следующий код в рабочее пространство:

Затем нажмите "Run". Вы должны увидеть результат в окне выполнения.

Пользователям других IDE


Вам нужно:

Шаг №1: Создать консольный проект.

Шаг №2: Добавить .cpp-файл в проект (если нужно).

Шаг №3: Вставить следующий код в .cpp-файл:

Шаг №4: Скомпилировать проект.

Шаг №5: Запустить проект.

Если компиляция прошла неудачно (a.k.a. «О Боже, что-то пошло не так!»)

Всё нормально, без паники. Скорее всего, это какой-то пустяк.

   Во-первых, убедитесь, что вы написали код правильно: без ошибок и опечаток. Сообщение об ошибке компилятора может дать вам ключ к пониманию того, где и какие ошибки случились.

   Во-вторых, просмотрите Урок №7 — там есть решения наиболее распространенных проблем.

   Если всё вышесказанное не помогло — «загуглите» проблему. С вероятностью 90% кто-то уже сталкивался с этим раньше и нашел решение.

Заключение

Поздравляем, вы написали, скомпилировали и запустили свою первую программу на языке C++! Не беспокойтесь, если вы не понимаете, что означает весь вышеприведенный код. Мы детально всё это рассмотрим на следующих уроках.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 045 оценок, среднее: 4,90 из 5)
Загрузка...

Комментариев: 79

  1. Даниил:

    Когда я поставил галочку около "Автоматически закрыть консоль при остановке отладки" у меня моментально закрывается окно, а не просто уходит надпись

    1. Кирилл:

      Поддерживаю, столкнулся с такой же проблемой версия 22 года

  2. Fantasy:

    Вопрос на засыпку, как ещё можно запустить прогу, если на ноутбуке кнопку F5 забиндили на яркость. Ctrl F5 не срабатывает в визуалке и открывается окно настройки яркости.

    1. Kuchi:

      Попробуйте запустить комбинацией Fn+Ctrl+F5 (если имеется клавиша Fn)

  3. Денис:

    Боже, спасибо за урок! Очень интересно, хоть пока ничего и непонятно. Бился я с этой программой уже минут 30-40, не мог понять, почему не запускается. Психанул и скопировал весь текст в VS. Оказалось, что не end1, а endl. Слезы счастья на моих щеках. Сразу вспомнил предыдущий урок, про то, что IDE для этого и созданы, чтобы шрифт давал возмождность понять между 1 и l

  4. Рома:

    Скиньте ссылку на Visual Studio 2017 Community не могу найти по ссылке переходил выходит версия 2019 года

    1. Фото аватара Юрий:

      На оф.ресурсе Майкрософта ссылки на эту версию уже нет(

      1. Рома:

        Спасибо уже не надо. И да там есть на оф. сайте Microsoft VS 2019 https://visualstudio.microsoft.com/ru/downloads/ пролистав ниже можно найти предыдущие версии https://visualstudio.microsoft.com/ru/vs/older-downloads/ после нужно оформить БЕСПЛАТНУЮ подписку и там выйдут куча версий и там уже искать ВСЕ ЭТО БЕСПЛАТНО ЕСЛИ НЕ БРАТЬ ЗА ДЕНЬГИ.

  5. оля:

    Здравствуйте, Юрий. Я уже оставляла сообщение. Сейчас открыла, а его нет. Почему так? В общем у меня ошибка error c 2065 и с 2039. Может быть это оттого, что я неправильно скачала программное обеспечение? сначала я поставила галочку только возле 'Пакета sdk для windows 10', все остальные галочки убрала. Запустила установщик. Программа установилась. Потом я поняла и зашла заново, поставила недостающие галочки, нажала на клавишу "Изменить", программа снова закачалась. Все ли правильно я сделала?

    1. Фото аватара Юрий:

      Привет. В уроке №4 ведь всё подробно расписано, как устанавливать и какие галочки ставить — есть скрины. Для того, чтобы проверить, всё ли верно запустилось — пишите программу «Hello, world!». Если работает, значит, что всё гуд.

      1. Андрей:

        А если при запуске

        антивирусник запрашивает пароль для входа???

        1. Фото аватара Юрий:

          Тогда проблема в вашем антивирусе — попробуйте его временно отключить и запустить программу еще раз.

  6. Сергей:

    День добрый. У меня отсуствует в библиотеке — "pch.cpp"
    И при написании всего кода выше -"Hello world!" — выдает ошибку.
    а если не приписывать — include "pch.cpp", все работает кореектно.
    Обезательно ли его прописывать?

    Microsoft visual studio 2019

    1. Фото аватара Юрий:

      Не обязательно прописывать.

  7. APTEM:

    А обязательно оставлять какое-то пространство между коммандами?

    1. Slav:

      нет, необязательно. Но для того, чтобы легче читать код и Вам и другим людям существует "практика отсупов."
      https://tproger.ru/translations/stanford-cpp-style-guide/

  8. Нубик в программировании:

    Классные уроки!!!

  9. Владимир:

    Попытался сделать через командную строку а мне пишут "g++ не является командой исполняемой программой или пакетным фвйлом

    1. Mario Cassar:

      g++ — Линуксовый компилятор…

      1. Матвей:

        Да что ты говоришь.
        https://prnt.sc/vpr2mj

        1. STP:

          MinGW-w64 надо установить, чтобы компилировать файлы .cpp в командной строке Windows.

  10. Анастасия:

    Здравствуйте! Установила по ссылке из 4го урока Visual Studio 2019. После перезагрузки компьютера (она требовалось установщиком) не нашла новой иконки на рабочем столе. После долгих поисков нужной иконки в новых установленных папках, в итоге запустила программу через установщик… Затем пришлось зарегистрировать учётную запись и зайти под ней.
    Первую программу удалось запустить по инструкции успешно, НО только после удаления строчки "#include "pch.h"", хотя Вы пишете, что эта строчка для работы в VS обязательна. У меня есть два вопроса:
    1) Как сделать иконку для запуска Visual Studio 2019 на рабочем столе?
    2) Может быть, с новыми версиями VS отпала необходимость в строчке #include "pch.h"? С этой строчкой первая программа не запускается, fatal error C1083: Не удается открыть файл включение: pch.h: No such file or directory

    1. Вадим:

      Тоже после удаления этой строчки, все запустилось

    2. максим:

      Если Вы не знаете таких простых вещей у меня вопрос. Зачем вы учите C++?

      1. Вадим:

        Ага, это из той серии… А зачем ты идешь на работу, если у тебя даже опыта нет? Не за тем ли, чтобы его получить?
        P.S. Очень важно научится, не отвечать вопросом на вопрос.

      2. Анастасия:

        Максим, Вы про иконку? Да, я и вправду не знаю, как её найти, откуда вытащить. А Вы знаете? Так подскажите! Я из-за этой "простой" трудности стала пользоваться другой IDE (DEV C++)
        Не думаю, что эта "простая" вещь связана с моей мотивацией изучать С++. В остальном почти всё идёт гладко, я уже на 55 уроке, а Вы?

        1. Niik:

          "Пуск"Все программы VS Comunity запуск

      3. Фото аватара Юрий:

        Максим, давайте не будем говорить о простых вещах и о том, кто их должен знать по умолчанию. Процесс изучения чего-либо подразумевает появление вопросов/проблем и их решение.

      4. loser:

        Максим, вот приходишь ты в первый раз в первый класс, а училка те говорит "Таких простых вещей не знаешь, зачем тогда учишь?"

    3. Анастасия:

      Откопала-таки ярлык Visual Studio, чтобы вытащить его на рабочий стол. Для тех, кто столкнулся с такой же проблемой, вот путь к ярлыку, если устанавливали по инструкции:
      C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE
      файл называется devenv и имеет тип "Приложение"

      1. Фото аватара Юрий:

        Я тоже не мог найти этот ярлык никак при установке именно новых версий Visual Studio. Спасибо вам за решение.

      2. Valery:

        Ярлык для Visual Studio 2019 (и не только) — это очень просто:
        Пуск — Мои Программы (это принципиально) — правый клик на Visual Studio 2019 — Отправить (ярлык на рабочий стол). Всё! Ярлык на месте, т. е. на рабочем столе, но с невнятным названием. Исправляем: правый клик на ярлыке — Переименовать — вместо denev.exe пишете — Visual Studio 2019 (или то, что Вам захочется) — OK (Enter). Успешной работы!

  11. Бабкен:

    Здравствуйте, Юрий. Огромное спасибо вам за лекции!
    Я скачал себе Visual studio 2019 года. При создании консольного приложения у меня отсутствует файл pch.h и программа работает без него. Я видел комментарий, связанный с тем, что человек запускал пустой проект, но я запускаю консольное приложение. Может это связано с тем, что в 2019 году они обновили версию и убрали данный файл?

    1. Никита:

      Чтобы это решить надо зайти в Проект->Свойства->C/C++->Все параметры И параметр "Предварительно откомпилированный заголовок поставить на Не использовать предварительно….

      1. Алексей:

        У меня была такая же проблема. Выяснилось, что VS 2019 ни в какую не хочет сам создавать файлы pch.cpp и pch.h, создал вручную (ничего не писал в обоих) — заработало… Вот только вопрос, это вообще нормально, что пришлось их вручную создавать?

      2. Дмитрий:

        Добрый день , также проблема . На Visual Studio 2019 не создаются Файлы pch.cpp и pch.h, если не добавлять строку #include “pch.h” , то все работает нормально, при добавлении пришлось это Файлы создавать в ручную. Изменения в свойствах Предварительно откомпилированный заголовок — На неиспользать предварительно … Ничего не дало. Интересно как — то решается эта проблема ?

        1. Фото аватара Юрий:

          Если у вас всё работает без добавления строчки
          #include <pch.h>
          То совершаеть лишние телодвижения не нужно.

  12. Dweeni:

    Связано с Visual Studio 2017.
    Когда хочу создать проект консолный его просто нету для си++.
    как не искал не смог найти что делать?

  13. Эзиз:

    ДА! у меня получилось на DevC++))

  14. Олег:

    Юрий, спасибо за науку. Такой вопрос — все прошло успешно, никто не ругался при сборке, все рк. Но когда запускаю — окно всплывает на долю секунды и пропадает, даже прочитать ничего не успеваешь. Это в чем проблема?

    1. Фото аватара Юрий:

      Ответ есть в уроке №7.

  15. Pifagorec:

    Спасибо, всё здорово!
    Только в С++ для WIN 7х32 клавиша запуск "F5",
    А подключаемый файл командой #include "pch.h",
    вместо #include "stdafx.h"

    1. Фото аватара Юрий:

      В версии Visual Studio 2017:

      Заменили на:

      1. Ашот:

        это меня спасло спасибо!

      2. Евген:

        Я в VS 2017 пишу на пустом проекте и у меня не требует pch.h, проекты работают. Может я делаю что-то не так?

        1. Фото аватара Юрий:

          Всё верно. Вы выбрали создать "Пустой проект", а не "Консольное приложение". В "Пустом проекте" подключение предварительно скомпилированного заголовка pch.h не требуется.

  16. илья:

    мой visual studio community 2017 внезапно стал платным, подскажите что делать?

    1. Константин:

      Илья, а ты регистрировался на сайте Microsoft-a при скачивании загрузочного файла? Я вот только надумал этот Visual Community 2017 скачать и на твой вопрос наткнулся — сразу подумал: это если я зарегистрируюсь, то они и до моей ОС доберутся. И вообще, народ! Это только Илье предложили раскошелится или кто-то ещё был "удивлён"?!

      1. Денис (MegaTech):

        Кхм, если он брал не Community версию VS или Community, но не регался — с него попросят. Если Комьюнити — зарегайся, если не Комьюнити — ставь её или плати.

    2. Геннадий:

      Платить!

  17. Koh:

    MVS 2017.
    вместо "stdafx.h" используется "pch.h".
    мне жалко мои потерянные нервы

    1. Дмитрий:

      Спасибо тебе большое , я уже второй день не мог понять в чём проблема

    2. Pifagorec:

      Согласен, у меня ещё вместо F7 на выполнение клавиша F5

  18. Artem:

    Дружище ,огромное спасибо!Перепробовал кучу книг,статей и прочих источников для «чайников» ,но ничего понятного для меня на находилось.Не было понятной структуры ,что и для чего.Подписался ,надеюсь дальше будет все с таком же формате.Еще раз спасибо,если и дальше так пойдёт ,придётся донатить тебе ,ибо не донатить совесть не позволит ,за такой понятный материал))

    1. Фото аватара Юрий:

      Спасибо, друг, что читаешь 🙂 Сам искал понятный ресурс с четкой структурой, когда удалось найти — решил поделиться с Рунетом.

  19. Константин:

    Юра, пожалуйста, распиши как создавать новый workspace. Спасибо.

  20. Евгений:

    Офигеть, наконец то кто-то нормально рассказал и учёл все возможные варианты. Спасибо, на данный момент автор — лучший в рунете (на моей памяти)

    1. Фото аватара Юрий:

      Хорошими знаниями нужно делиться 🙂

  21. Даниил:

    У меня нет Win32. Вроде бы я всё устанавливал, правильно. С чем это связано? Можно ли использовать обычный файл?

    1. Фото аватара Юрий:

      В обновлениях Visual Studio Win32 убрали. Ориентируйтесь на то, чтобы было Console Application и C++ — это самое главное.

      1. Станислав:

        Здравствуйте. Наткнулся на такую проблему. У меня нету пункта win 32 и Console Application . Только консольное приложение windows. Подскажите что делать.

        1. Фото аватара Юрий:

          Привет, выбирать "Консольное приложение Windows".

  22. SV:

    пробую использовать Code::Blocks
    программа из примера компилируется, запускается.
    Потом закрываю консольное окно и пробую редактировать текст Hello world. Пробую снова компилировать — ошибка. Жду некоторое время(несколько минут) — снова компилирую — компилируется нормально. Если редактировать и сразу компилировать — то компилируется нормально, а если пробовать запускать — то после нормального запуска и последующей попытки редактирования — ошибка. и надо ждать несколько минут.
    Проблема связана с консолью? Что то где то ждёт не закрытое\не завешённое?

    1. Фото аватара Юрий:

      Вы после редактирования сохраняете изменения? И когда вы запустили и программа выполнилась — вы после этого останавливаете режим отладки?

      1. SV:

        Я по разному пробовал (с поправкой только начал вообще знакомиться с предметом и средой). И сохранять пытался, и стирать, но всё это работает пока не запущу программу на выполнение. После того как она выполнилась(окно закрываю!) — редактирование и компиляция без ошибок возможны только по истечении некоторого времени.

        1. Фото аватара Юрий:

          Тогда ничего не могу подсказать по решению этой проблемы. Обратитесь на форумы по программированию с вашим вопросом.

  23. ctcu:

    Добрый день!

    Несколько дней ушло на не найденный ответ по ошибке:
    не удалось загрузить импортированный файл проекта
    C:\Users\…\AppData\Local\Microsoft\MSBuild\v4.0\
    Microsoft.Cpp.Win32.user.props Отсутствует корневой элемент
    Где можно посмотреть?

    1. Фото аватара Юрий:

      «Cистема проектов Visual C++ основана на MSBuild, значения хранятся в XML-файле проекта по умолчанию .props и .targets файлов, что (для Visual Studio 2015) находятся в ВашДиск\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\V140 и в пользовательских PROPS-файлов, которые требуется добавить. Настоятельно рекомендуется НЕ изменять файлы вручную» — msdn.microsoft.com/ru-ru/library/.

      Попробуйте удалить весь свой Visual Studio и установить заново в точном соответствии с уроком 4.

  24. Андрей Оганесян:

    Здравствуйте, такая проблема: всё написал, скомпилировал, но при запуске в консоли выдаётся "Для продолжения нажмите любую клавишу . . . " и никакого hello world..( Помогите может я что-то не так сделал?(

    1. Фото аватара Юрий:

      Привет, смотрите урок 7.

  25. Natiq:

    на visual 2017 не как не хочет компелировать, выдает ошибку windowsproject4.cpp(8): fatal error C1010: непредвиденный конец файла во время поиска

    1. Фото аватара Юрий:

      Скорее всего, вы не добавили stdafx.h:

      Смотрите Урок 7. Самые распространенные проблемы в C++.

      1. Koh:

        prntscr.com/kvua5u
        изменено название файла

  26. Pavel:

    Спасибо за описание. Программа запустилась и работает (правда пришлось повозиться с установкой компилятора, писал, что can’t find compiler executable in your search path (GNU GCC compiler). Вопрос решил. Но если вместо «Hello world» написать что-либо на кириллице — то на экране видна абракадабра. В чем проблема? Использую Code::Blocks

    1. Фото аватара Юрий:

      Проблема в кодировке. Для корректного отображения кириллицы в консольном окне — добавьте заголовочный файл:

      и пропишите следующую строчку кода в main:

      Либо, если вы еще планируете вводить данные на кириллице, тогда подключите заголовочный файл:

      и пропишите в main:

  27. Jaan:

    Многообещающее начало изучения сложной для меня темы такой как си++ очень много вопросов как и положено новичку. Некоторые моменты хотелось бы поподробнее получить в виде объяснения. В общем пока я доволен вашим сайтом. Спасибо!

    1. Фото аватара Юрий:

      Пожалуйста, читайте — учитесь.

      1. Новичок:

        Как создать первую программу есть, но нет объяснения, что мы, первом делом подключаем библиотеки, что такое std и что такое cout, почему в конце стоит return 0, и было бы не плохо добавить вариации кода… По мне, так этот код выглядит легче:

        Директива using, дает непосредственный доступ к элементам из пространства имен std.

        Но есть и такой вариант:

        1. Фото аватара Юрий:

          Этот урок посвящен первой компиляции первой программы. Что такое return, cout, std — рассказывается детально в следующих соответствующих уроках.

Добавить комментарий для SV Отменить ответ

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