Читать «Организация параллельных потоков. Часть 2» онлайн - страница 5

Валентин Юльевич Арьков

Компилируем программу и запускаем её на выполнение.

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

Рис. 3.1. Программа «Всем привет»

Устанавливаем конфигурацию Release.

Нажимаем комбинацию клавиш:

Ctrl + F5.

Видим результаты работы программы в командном окне.

Задание. Создайте программу «Всем привет!» и запустите её на выполнение.

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

Задание. Изучите в Википедии статьи «Отладка программы», «Debugging», «Software bug», «Стадии разработки программного обеспечения» и «Software release life cycle». Выясните значение, происхождение и перевод терминов DEBUG и RELEASE.

По умолчанию шрифт командного окна довольно мелкий.

Настроим его покрупнее.

Щелкаем по значку в левом верхнем углу окна (рис. 3.2) и выбираем свойства:

Properties.

Рис. 3.2. Свойства командного окна

Здесь нас интересует раздел шрифтов:

Font.

Выбираем любой моноширинный шрифт (рис. 3.3). Это означает, что все буквы одинаковой ширины. В названии некоторых шрифтов может быть слово mono. «Моно» означает «один». Эти шрифты имитируют первые печатные устройства, похожие на печатные машинки. Моноширинный шрифт позволяет расположить результаты вывода на экран ровными столбцами.

Задаём подходящий размер.

Если буквы плохо различимы, делаем шрифт жирным.

В нашем примере мы выбрали такой шрифт:

— Size — 24;

— Font — Courier New;

— Bold fonts.

В нижней части окна выбора шрифта выводится пример текста на экране и указаны размеры букв в пикселах (точках).

Рис. 3.3. Выбор шрифта командного окна

Задание. Настройте шрифт командного окна.

После установки шрифта ещё раз запускаем программу на выполнение.

Теперь буковки стали более читабельными (рис. 3.4).

Рис. 3.4. Результаты работы программы

Задание. Убедитесь, что настроили шрифт командного окна.

3.2. Поддержка OpenMP

Проверим, как есть ли в нашем компиляторе поддержка распараллеливания.

Если в компиляторе включена поддержка OpenMP, то появится следующий идентификатор:

_OPENMP.

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

#ifdef.

Директива предлагает компилятору проверить, определён ли указанный идентификатор.

Запускаем следующую программу (рис. 3.5).

Рис. 3.5. Проверка поддержки OpenMP

Запущенная программа сообщает нам, что указанный макрос не определён (рис. 3.6).

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

Рис. 3.6. Поддержки OpenMP пока нет

Задание. Составьте и запустите программу (рис.3.5).

Теперь включим поддержку распараллеливания. Настроим свойства текущего проекта:

Project — Properties (рис. 3.7).

Рис. 3.7. Свойства проекта

Делаем следующие настройки (рис. 3.8):

Configuration — All Configurations;

Configuration Properties — C/C++ Language — OpenMP Support — Yes.