Найти тему

Знакомство с разработкой на C++. Часть 2: Как разрабатываются программы?

Оглавление

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

Если вы начали с этой статьи, первую часть можно почитать здесь: ССЫЛКА

Повторим кратко все шаги нашего плана разработки и перейдем к третьему шагу:

1. Определим задачу(и), которую будет решать наша программа.
2. Разработаем решение, то есть продумаем с помощью каких элементов языка программирования можно будет решить нашу задачу.
3. Напишем программу, которая реализует наше решение.
4. Соберем эту программу с помощью компилятора.
5. Скомпонуем объектные файлы.
6. Проверим работу программы.
7. Проведем отладку программы.

ШАГ 3: Пишем программу

Чтобы написать программу, вам понадобится один навык: знание языка программирования. Именно для этого и был создан этот канал и совсем скоро я начну публиковать профильные статьи по C++, а значит до того, как мы вместе начнем погружаться в архитектуру языка, осталось совсем немного времени.

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

Файлы с кодом на C++ имеют расширение name.cpp

Преимущества специализированных редакторов кода

Нумерация строк. Она полезна в случаях, когда компилятор выдает ошибку в коде. Ошибка указывается в формате "Код ошибки/сообщение, строка...". Если ваш код написан не в специальном редакторе, то на поиск номера строки в большой программе уйдет очень много времени.

Пример простой программы, выводящей на экран две фразы на разных строках. Программа написана в VISUAL STUDIO. Видна нумерация строк.
Пример простой программы, выводящей на экран две фразы на разных строках. Программа написана в VISUAL STUDIO. Видна нумерация строк.

Выше я наглядно показал пример нумерации строк в профессиональном редакторе.

Вторым важным отличием профессиональных редакторов кода является специальная подсветка и раскраска для разных элементов синтаксиса языка.

Третье отличие, это использование специализированными редакторами единого понятного шрифта, в котором например буква О и цифра 0 не будут похожи друг на друга.

ШАГ 4: Собираем программу с помощью компилятора

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

Компилятор — программа, которая переводит код, написанный на языке программирования в машинный язык.

IDE — интегрированная среда разработки, иначе комплекс программных средств, который включает в себя: специализированный текстовый редактор, компилятор/интерпретатор, средства автоматизации сборки и отладчик для поиска ошибок.

Какие задачи выполняет компилятор?

1. Проверяет ваш код на соответствие всем правилам языка программирования (С++). Если код в каком-либо месте не соответствует правилам, компилятор укажет на это место, выдаст код ошибки и ее название. И не продолжит работу, пока ошибка не будет исправлена.

2. Когда ваш код полностью проверен и ошибок не найдено, компилятор переведет его в машинный язык и создаст из него объектный файл в формате name.o/name.obj

Пока это все что вам следует знать про IDE компилятор, более подробно можно почитать ЗДЕСЬ.

ШАГ 5. Компонуем объектные файлы

Как только компилятор соберет из вашего документа с кодом объектный файл, в дело включится другая программа, называемая компоновщиком (линкером).

Работа компоновщика (линкера) будет протекать в три этапа:

1. Для начала линкер возьмет все объектные файлы сгенерированные компилятором и соберет из них одну исполняемую программу.

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

2. Далее, подключит к исполняемой программе все библиотеке, необходимость которых вы указали в коде, в том числе стандартную библиотеку ввода/вывода <iostream> (пример подключения этой библиотеки вы можете видеть в первой строчке кода на картинке из шага 3).

Для чего линкеру подключать какие-то библиотеки? Дело в том, что в основное ядро языка C++ по умолчанию не заложены такие функции как ввод на экран или вывод с экрана и т.д. Поэтому C++ поставляется вместе со стандартными библиотеками, с помощью которых вы можете использовать в своих программах различные дополнительные функции.

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

Просто подключить соответствующую стороннюю библиотеку, в которой все уже сделано за вас.

3. Третье, что сделает компоновщик, перед тем как завершить работу — это налаживает все взаимосвязи в вашем коде. Например, вы написали и сохранили свой код в трех файлах .cpp и указали внутри порядок исполнения частей кода. Компоновщик, следуя этому порядку, объединит код в единую программу, которую можно будет использовать. Если правила ссылок и объединения были вами нарушены, то компоновщик сообщит об ошибке.

На этом работа компоновщика закончится.

ШАГ 6-7 Тестируем и отлаживаем программы

После того, как компоновщик завершит свою работу, он сформирует исполняемый файл, который и будет являться вашей программой. Вы сможете его запустить и проверить ее работу. Однако программа может работать некорректно. Именно для этого в IDE есть встроенные функции тестирования и отладки программы. Пока вам хватит знать просто о факте их существования. Подробности о том, как ими пользоваться мы разберем в следующих статьях.

Наука
7 млн интересуются