Шаг 1.
Microsoft Visual C++ 2010. Язык С/С++.
Обзор среды программирования. Общие сведения о разработке программ

Шаги базируются на книге:
Пахомов Б.И. C/C++ и Microsoft Visual C++ 2010 для начинающих. - СПб.: БХВ-Петербург, 2011. - 736 с.

    На этом шаге мы приведем общие сведения о разработке программ.

    Допустим, вам требуется решить некоторую задачу (с помощью компьютера, конечно). Например, нужно рассчитать движение материальных ценностей по некоторому складу: сколько чего было на данную дату, сколько чего поступило, сколько ушло, сколько осталось. С чего обычно начинают? Ясно сразу, что если задачу надо решать на компьютере, то следовало бы ее решение как-то формализовать, т. е. алгоритм (набор последовательных действий, исполнение которых приводит к решению задачи) требуется привести к последовательности неких формальных действий, понятных машине (говорят, что надо построить машинный алгоритм решения задачи). Затем надо продумать форму общения (ишерфейс) для пользователя с самим компьютером, исходя из максимального удобства общения. Это чуть ли не одна из главных трудностей проектирования решения задачи, ибо неудобство общения раздражает пользователя, который начинает совершать ошибки, что в конечном счете может привести к тому, что ваш проект просто будет отвергнут. Имеются еще некоторые шаги по подготовке к решению, но мы их здесь опустим.

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

    Когда программа написана на некотором алгоритмическом языке, она должна быть переведена в машинный язык - язык, на котором работает компьютер, в его систему команд. Для этого существуют специальные программы, называемые компиляторами. Эти программы имеют параметры, задание которых позволяет компилятору создавать машинные программы в той или иной плоскости. Например, существуют параметры, позволяющие компилятору минимизировать размер памяти, которую будет занимать скомпилированная программа. Или существует параметр, позволяющий компилятору создавать программы (часто говорят просто "коды"), состоящие из так называемых управляемых или неуправляемых кодов. Параметры компилятора называют по-разному: ключами, опциями.

    Но программу мало откомпилировать. Компиляция - это только первый этап создания машинной программы. Дело в том, что для решения конкретной задачи (т. е. реализации ее машинного алгоритма) требуется подключение неких стандартных библиотек, содержащих стандартные программы, которые разрабатываются один раз и используются во многих алгоритмах (например, перевод десятичных чисел в двоичные или шестнадцатеричные). Ни один программист, пишущий прикладную программу, не станет всякий раз заниматься этим переводом. Поэтому в подобных случаях разработчик программной среды, в рамках которой создается программный продукт (в нашем случае это Visual Studio 2010) сам создает подобные библиотеки и поставляет их со средой разработки, которая содержит и компиляторы с разных языков среды в машинные коды. В свою очередь, и опытный программист может самостоятельно создавать такие библиотеки и включать их в общий перечень библиотек среды программирования, чтобы они в дальнейшем автоматически подключались к решению задач. Для этой цели среда поставляет специальные средства.

    Но вернемся к компиляции. Компилятор, просматривая программу (код, как говорят), переводит этот код в машинные команды. Но не просто в набор команд, а формирует все это множество в виде отдельных (объектных) модулей. В каждом таком модуле создается своя таблица имен со ссылками на их месторасположение. Таким образом, компилятор создает не исполняемый код, а так называемый объектный код, содержащий неконкретные (как говорят "неразрешенные", т. е. неопределенные) ссылки. На этом его работа завершается. Чтобы получить исполняемый модуль, надо "разрешить" (т. е. конкретизировать) ссылки, сформированные компилятором с учетом конкретного размещения данного кода в выделенной для него памяти компьютера. Эту работу выполняет специальная программа, которая называется по-разному: редактор связей, компоновщик, линковщик, построитель. После работы этой программы получается набор машинных команд, готовых к исполнению на компьютере.

    В свете всего вышесказанного можно утверждать, что для того чтобы создать программу, требуется еще иметь средства ее компиляции и компоновки. Эти средства поставляются в рамках изучаемой среды MS Visual C++ 2010. То есть прежде, чем перейти к изучению собственно языка C/C++, надо познакомиться хотя бы в общих чертах с интерфейсом среды обработки данных MS Visual C++ 2010, чтобы иметь возможность с его помощью компилировать и строить исполняемые программы в рамках языка C/C++.

    На следующем шаге мы рассмотрим структуру рабочего стола среды программирования.




Содержание Следующий шаг