Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Объектно-ориентированное программирование.-6

.pdf
Скачиваний:
8
Добавлен:
05.02.2023
Размер:
4.5 Mб
Скачать

можно найти расширения (плагины) для подсветки синтаксиса.

2.3.2.2. Использование специализированной среды

Устанавливаем среду SharpDevelop и запускаем ее. На стартовой странице (рис. 2.8) можно создать новое решение, нажав кнопку «New solution», либо использовав пункт меню «File → New → Solution…».

Рис. 2.8 – Стартовая страница SharpDevelop

После этого появляется диалог «New Project» (рис. 2.9). Следует выбрать тип проекта (в нашем случае это консольное приложение Windows на языке C#, поэтому выбираем категорию «C# → Windows Applications → Console Application»). Так как решение может состоять из нескольких проектов, есть отдельные поля для ввода имени проекта (Name) и имени решения (Solution name). Чтобы файлы разных проектов не перемешивались, для каждого проекта создается отдельная папка, имя которой совпадает с именем проекта. Для решения тоже можно создать отдельную папку, в которую будут помещаться папки всех проектов, входящих в решение. Но, т.к. наша программа имеет простую структуру, и в создаваемом решении будет всего один проект,

41

можно не создавать отдельную папку для решения. Для этого необходимо снять пометку «Create directory for solution». Введем текст

«Sample_2_3_spec» в качестве имени проекта и решения (в общем случае, их имена не обязаны совпадать), этом случае проект будет помещен в папку «Sample_2_3_spec». Если бы мы не убрали отметку о создании отдельной папки для решения, проект был бы помещен в папку «Sample_2_3_spec\ Sample_2_3_spec».

Рис. 2.9 – Создание проекта в среде SharpDevelop

Далее нажимаем кнопку «Create» и получаем проект, состоящий из нескольких файлов. Их назначение мы рассмотрим позже, а пока нас интересует исходных файл «Program.cs». Он уже содержит некоторый код, но мы его удалим, оставив только тот текст, что был приведен выше (рис. 2.10). Можно его скопировать из созданного ранее текстового файла, а можно набрать заново, используя автоматическое завершение ввода (о нем ниже) и автоматическое форматирование программы (среда сама расставляет отступы блоков, закрывающие фигурные скобки и т.д.).

42

Рис. 2.10 – Программа на C# в среде SharpDevelop

После этого сохраним проект, используя пункт меню «File → Save All» или соответствующую кнопку на панели инструментов (горячая клавиша –

Ctrl+Shift+S).

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

Специальными значками на полях редактора кода помечаются классы

ичлены классов.

Поддерживается автозавершение ввода. Т.е., когда программист набирает код, программа предлагает ему в выпадающем списке варианты его завершения (либо можно вызвать этот список, нажав комбинацию клавиш Ctrl+Пробел). Это существенно ускоряет набор текста программы.

Используется древовидная структура программы. Поэтому существует возможность «свернуть» часть кода в одну строку, нажав на значке «». Это удобно при разработке больших программ – развернутым остается только редактируемый и отлаживаемый код.

43

2.3.2.3. Использование официальной среды разработки

В пакете Microsoft Visual Studio 2008 Express Edition среда разработки для каждого языка программирования загружается отдельно. Так, на рисунке 2.11 показана начальная страница среды разработки для Visual C#. Для создания проекта необходимо выбрать пункт меню «Файл → Создать проект…» или нажать на ссылку «Проект…» напротив пункта «Создать» на стартовой странице.

Рис. 2.11 – Создание проекта в среде Visual Studio 2008 Express Edition

Видно, что возможности создания проекта в Express-версии существенно ограничены даже по сравнению со средой SharpDevelop:

поддерживается меньше типов проектов;

для каждого языка предназначена своя среда разработки, следовательно, нельзя тестировать проект, исходные файлы в котором написаны на разных языках программирования;

44

• нет возможности указать имя решения и папки для создания проекта (по умолчанию используется «Мои документы\Visual Studio 2008\Projects») и т.д.

Имя решения и папки можно указать позже, при первом сохранении проекта (рис. 2.12). Назовем наш проект «Sample_2_3_msvs».

Рис. 2.12 – Сохранение проекта в среде Visual Studio 2008 Express Edition

В полной платной версии Visual Studio, например, Visual Studio 2008 Professional (рис. 2.13) изначально есть те опции по созданию проекта, которые мы видели в среде SharpDevelop.

Рис. 2.13 – Создание проекта в среде Visual Studio 2008 Professional

Ну а после взгляда на редактор кода Microsoft Visual Studio оконча-

45

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

Рис. 2.14 – Программа на C# в среде Visual Studio 2008 Express Edition

2.3.3. Компиляция

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

2.3.3.1. Компиляция текстового файла

Выше уже было показано (рис. 2.4), что компилятор языка C# – это файл со спецификацией

<папка Windows>\Microsoft.NET\Framework\<номер версии>\csc.exe

46

Обычно это соответствует

C:\WINDOWS\Microsoft.NET\Framework\v3.5\csc.exe

В качестве параметра компилятору указываем имя исходного файла

(рис. 2.15).

Рис. 2.15 – Компиляция программы на языке C# из консоли

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

Чтобы каждый раз не набирать данную строку в консоли, можно в папке с исходным файлом сделать пакетный файл (например, с именем CS23.BAT) следующего содержимого:

C:\WINDOWS\Microsoft.NET\Framework\v3.5\csc.exe Sample_2_3_text.cs

Такой файл можно выполнять не только на консоли, но и из папки Windows (рис. 2.16). Если с помощью пакетного файла планируется компиляция различных программ, следует использовать следующую запись:

C:\WINDOWS\Microsoft.NET\Framework\v3.5\csc.exe %1

В этом случае будет компилироваться файл с именем, указанным в качестве первого параметра пакетного файла. Назовем этот файл CS.BAT, тогда использовать его в консоли можно так:

cs.bat Sample_2_3_text.cs

47

Рис. 2.16 – Файловая структура примеров к § 2.3

С таким файлом удобнее всего работать из файлового менеджера. Например, Far Manager является консольным, и при нажатии комбинации клавиш Ctrl+Enter копирует имя файла под курсором в командную строку.

2.3.3.2. Компиляция проекта в среде SharpDevelop

В меню «Build» есть несколько пунктов для компиляции:

1.«Build Solution» (F8) – компилирует решение;

2.«Rebuild Solution» (Alt+F8) – перекомпилирует решение;

3.«Build Project» (F9) – компилирует проект;

4.«Rebuild Project» (Alt+F9) – перекомпилирует проект.

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

48

решения. Перекомпиляция может потребоваться в следующих случаях:

Какой-либо файл был модифицирован в других проектах, решениях или внешних редакторах, а среда Visual Studio об этом «не узнала»;

Были изменены настройки среды или операционной системы, влияющие на результат компиляции.

В пунктах 3 и 4 вместо слова «Project» подставляется актуальное имя проекта. Так как в нашем решении всего один проект, то результаты компиляции проекта и решения совпадают.

Исполняемый файл появляется в подпапке «bin\Debug» папки проекта, если компилировалась отладочная версия, и в подпапке «bin\Release», если компилировалась финальная версия (релиз).

2.3.3.3. Компиляция проекта в среде Visual Studio

Вцелом, совпадает с компиляцией в среде SharpDevelop. Естественно, версия Express Edition обладает меньшим набором возможностей, в меню «Построение» есть только пункт «Построить решение» (F6) и «Перестроить решение».

Вполной версии есть все четыре пункта – «Построить решение» (Ctrl+Shift+B), «Перестроить решение», «Построить проект», «Перестроить проект». Вместо слова «проект» подставляется актуальное имя проекта.

2.3.4. Выполнение

Для выполнения программы извне среды разработки достаточно запустить исполняемый файл, полученный на этапе компиляции. Сделать это можно из консоли (рис. 2.17) или из папки программы, открытой в Проводнике.

При запуске программы из среды разработки можно использовать следующие команды (меню «Debug» в среде SharpDevelop / «Отладка» в среде

Visual Studio):

«Run» / «Начать отладку» (F5) – запуск программы;

«Run without debugger» / «Запуск без отладки» (Ctrl+F5) – запуск про-

граммы без отладки. При этом будут игнорироваться все точки останова (о которых мы будем говорить в 5-й главе) и прочие средства отладки.

Однако, что же происходит при выполнении программы? При запуске программы из Проводника, из среды SharpDevelop, а также при запуске с от-

49

ладкой из среды Visual Studio мы не имеем возможности наблюдения за результатами ее работы. Окно с результатами работы программы появляется на короткое время, и тут же исчезает.

Рис. 2.17 – Выполнение программы из консоли

И только при запуске из среды Visual Studio без отладки мы видим результат (рис. 2.18).

Рис. 2.18 – Запуск программы без отладки в среде Visual Studio

Все дело в том, что с выводом на консоль строки «Hello, World!» программа завершает свою работу, возвращая операционной системе код возвра-

50