Главная страница
Навигация по странице:

  • Set Help Preference

  • Build

  • File | New | Project

  • Solution Explorer

  • File | с Projects and Solutions

  • Remove

  • Recent Projects

  • ConsoleApplication1.cpp

  • Build | Solution

  • Борис Пахомов Санкт Петербург бхв петербург 2013 удк 004. 4 Ббк 32. 973. 26018. 2 П


    Скачать 17.38 Mb.
    НазваниеБорис Пахомов Санкт Петербург бхв петербург 2013 удк 004. 4 Ббк 32. 973. 26018. 2 П
    АнкорMS Visual C.pdf
    Дата04.08.2018
    Размер17.38 Mb.
    Формат файлаpdf
    Имя файлаMS Visual C.pdf
    ТипДокументы
    #22453
    страница3 из 37
    1   2   3   4   5   6   7   8   9   ...   37
    Add and Remove
    Local Help Content. Если же пользоваться базой данных разработчика среды, то база данных, естественно, поддерживается самим разработчиком, что удобно. Но и за это удобство есть своя плата приходится загружать справку через Интернет, что, во-первых, дольше и дороже, а во-вторых, Интернет может быть в нужный момент и недоступен. Настройка источника информации осуществляется через опцию Set Help
    Preference меню Help рис. 1.7). Вот теперь, когда вы начнете выполнять опцию View Help, показанную на рис. 1.6, ваш браузер откроет вам доступ к справочной системе — рис. 1.8. Рис 1.7. Настройка среды программирования на источник справочной информации
    Рис.
    1.8. Окно MSDN
    Глава 1. Общие сведения о среде
    Visual C++ 2011
    . Создание консольного приложения Обратим внимание на опцию Samples (образцы) в подменю опции Help, которая открывает доступ к примерам приложений различного направления, заготовленным разработчиком. Структура программ в Программы в VC++ называются приложениями (очевидно, приложениями к среде
    IDE). Мы таки дальше станем их называть. Приложения строятся средой в виде специальных конструкций — проектов, которые выглядят для пользователя как совокупность нескольких файлов. Программа на языке С, расширением которого является язык С+ (далее не станем их пока разделять и будем писать С/С++), — это совокупность функций, те. специальных программных образований, отвечающих определенным требованиям. Причем приложение — это главная функция, внутри которой помещаются операторы, реализующие алгоритм приложения. Среди операторов имеются такие, которые служат для вызова других функций, требующихся при реализации алгоритма. Запуск любой программы начинается с запуска главной функции, содержащей всю остальную часть программы. Часть функций создается самим программистом, другая часть — библиотечные функции — поставляется пользователю со средой программирования и используется в процессе разработки программ. При изучении
    С/С++ мы будем пользоваться специальным видом приложений — консольными приложениями, которые формируются на основе заранее заготовленных в среде проектирования шаблонов. Консольные (те. опорные, базовые) приложения — это приложения без графического интерфейса, которые взаимодействуют с пользователем через специальную командную строку или (если они работают в рамках IDE) запускаются специальной командой из главного меню среды. Такие приложения создаются с помощью специального шаблона, доступного из диалогового окна, открывающегося после выполнения команды File | New | Project. Шаблон консольного приложения добавляет в создаваемое приложение необходимые элементы (создается заготовка будущего приложения, после чего разработчик вставляет в этот шаблон свои операторы на языке С/С++. Затем приложение компилируется в автономный исполняемый файл и может быть запущено на выполнение. Общение с пользователем происходит через специальное так называемое консольное окно, открывающееся средой после запуска приложения (в это окно выводятся сообщения программы, через него вводятся данные для расчета ив негоже выводятся результаты расчетов. Компиляция и сборка проекта осуществляется через опцию Build главного меню среды (структура главного меню меняется в зависимости от совершаемых действий при загрузке среды она одна (в ней нет опции Build), а например, если мы создадим проект, такая опция появляется. После компиляции и сборки проект можно запустить на выполнение. Запуск на выполнение осуществляется с помощью опции
    Debug главного меню среды.

    16 Часть
    I. Изучение языка С/С++
    Изучение С/С++ мы станем осуществлять на примерах будем создавать программы, разбирать, как они работают с параллельным изучением их структуры. Консольные приложения, которые мы начнем создавать, имеют шаблон вида CLR
    Console Application. Последние два слова этого названия понятны — консольное приложение. А что означает аббревиатура CLR? В настоящей редакции среды разработки авторы создали два варианта консольного приложения, только разнесли их использование по разным диалоговым окнам шаблон с CLR задан в папке CLR, а шаблон для обычного консольного приложения задан в папке Win32. Так что же такое — CLR (Common Language RunTime)? Это специальная среда, которая управляет исполнением программного кода, памятью, потоками данных и работой с удаленными компьютерами, при этом строго обеспечивая безопасность и создавая надежность исполнения кода. CLR является добавкой-расширением С, введенной фирмой Microsoft, начиная с версии VC++ 2005. В версиях 2005, 2008 подключение к вашему проекту этой среды осуществлялось на этапе компиляции. Там для консольного приложения (по умолчанию) этот режим не поддерживался те. консольное приложение как бы оставалось в старой версии Св "родной"
    (native), как определили ее авторы добавки CLR). В этой старой версии, когда вы в своей программе работали с некоторыми объектами (здесь нам приходится забегать вперед, ибо объекты — это предмет более позднего изучения, когда мы станем знакомиться с классами, то должны были сами заботиться об их размещении в памяти, выделяемой средой. Память для вашего приложения выделяется в так называемой куче в ней вы размещаете свои объекты, там же сами освобождаете память, когда перестаете работать с объектом, иначе куча может переполниться и процесс выполнения приложения прервется. Это так называемая неуправляемая куча. Указатели (о них — позже) на участки памяти в такой куче обозначаются символом. Другое дело, когда включается режим CLR. Такое приложение отличается от обычного тем, что его заготовка обеспечивает подключение к приложению специального системного пространства
    System
    , содержащего объекты, размещение в памяти которых надо автоматически регулировать. Так вот режим CLR работает уже с управляемой кучей памяти, в которой размещение объектов и ее освобождение от них происходит под управлением среды. Такой сервис входит в язык Java, где не надо делить кучу на управляемую и неуправляемую. В этой среде употребляются так называемые регулируемые указатели на объекты. Регулируемый указатель — это тип указателя, который ссылается на объекты (адреса памяти, по которым можно обращаться к объектам, расположенные в общей регулируемой куче памяти, предоставленной приложению в момент его исполнения. Для таких указателей принято специальное обозначение вместо символа "*" применяется символ "^". Создание CLR привело к необходимости разработки аппарата преобразования переменных, относящихся к одной куче, в адреса в другой куче и т. п. Этот процесс назвали маршализацией. Существует специальная библиотека, обеспечивающая этот процесс. Однако все это довольно усложнило программирование.
    Глава 1. Общие сведения о среде
    Visual C++ 2011
    . Создание консольного приложения Переход к созданию

    консольного приложения
    Для создания консольного приложения воспользуемся шаблоном приложения. Для этого необходимо выполнить следующие шаги Загрузить среду VC++. Выполнить команды главного меню File | New | Project. Откроется диалоговое окно, показанное на рис. 1.9. В этом окне выберите опцию CLR Console
    Applicaton, задайте в его нижней части имя будущего проекта в поле Name, которое потом перекочует в поле Solution name. С помощью кнопки Browse установите папку, в которую будет помещен ваш проект. Теперь окно рис. 1.9 станет выглядеть так, как показано на рис. 1.10. Рис 1.9. Выход на шаблон создания консольного приложения
    3.
    Нажать кнопку О. В результате получится то, что показано на рис. 1.11. Заготовка консольного приложения состоит из заголовка главной функции int main(array ^args) и тела, ограниченного фигурными скобками. Преобразуем заголовок функции множество аргументов функции к виду main()
    , тек виду без аргументов, а из тела удалим оператор return Все это проделаем с помощью Редактора кода, который открывается одновременно с появлением заготовки консольного приложения на экране (заготовка сразу помещается в поле Редактора кода. Чтобы убедиться, что вы находитесь в Редакторе, щелкните кнопкой мыши в любом месте поля заготовки и увидите, что курсор

    18 Часть
    I. Изучение языка С/С++
    Рис.
    1.10. Формирование консольного приложения
    Рис.
    1.11. Вид заготовки консольного приложения
    Глава 1. Общие сведения о среде
    Visual C++ 2011
    . Создание консольного приложения установится вместе вашего щелчка (Редактор ждет в этой точке ваших дальнейших действий. Далее можно набирать любой текст, как в обычном современном текстовом редакторе, работать клавишами , , клавишами- стрелками и другими необходимыми для ввода и редактирования клавишами. Итак, мы привели заголовок функции аргументы к виду Это означает, что наша главная функция не будет иметь аргументов, которые служат для связки между собой нескольких консольных приложений. Этим мы заниматься не будем. Когда мы формировали заготовку консольного приложения, мы видели, что при задании имени (Name) приложения формировалось и некое поле Solution name решение. Дело в том, что среда С+ оформляет создаваемое приложение в виде двух контейнеров, вложенных один в другой. Один (главный контейнер) называется решение, а другой — проект. Проект определен как конфигурация (каркас, контейнер, объединяющий группу файлов. В рамках проекта создается программа, в том числе и подлежащая исполнению, те. откомпилированная и построенная. Каждый проект содержит по крайней мере две подконфигурации: отладочную и обычную (исполнительскую. Это задается в выпадающем меню, которое по умолчанию установлено на опцию Debug (отладка. Это выпадающее меню находится в строке окна среды, расположенной ниже строки главного меню (рис. 1.12). Рис 1.12. Установка режима исполнения программы
    Проекты являются частью другого каркаса, другого контейнера, который называется (решение) и который отражает взаимосвязь между проектами одно решение может содержать множество проектов, а проект содержит множество элементов, обеспечивающих существование приложения как такового. Можно сказать,

    20 Часть
    I. Изучение языка С/С++
    что решение — это нечто иное, как группа объединенных проектов. Назовем его просто группа проектов, чтобы термин "решение" не вводил нас в заблуждение. Существует специальный инструмент работы с группой проектов, называемый
    Solution Explorer. К нему можно добраться через опцию View меню среды разработки. Сама среда автоматически формирует создаваемое приложение как группу проектов, содержащих собственно проект (это видно из рис. 1.13). Рис 1.13. Группа проектов одного решения
    Такой подход к оформлению приложения позволяет работать с группой проектов как с одним целым, что ускоряет процесс разработки приложений. Добавка нового или существующего проекта к уже существующему решению осуществляется через опцию главного меню File (рис. 1.14). Добавленный проект, как и любой другой, входящий в группу проектов, можно удалить. Для этого надо встать мышью на имя этого проекта, открыть его контекстное меню и выполнить в нем команду Remove. (Контекстное меню, как известно, открывается правой кнопкой мыши, когда ее курсор находится на имени объекта, чье контекстное меню требуется открыть) Часто бывает необходимо быстро загрузить ранее сохраненные проекты (не искать их в каталогах).
    Для этого существует команда главного меню
    File
    | с Projects and
    Solutions
    , которая открывает меню с названиями ранее выполненных проектов и путями к ним.
    Удалим из группы проектов проект 2 и оставим в ней проект 1. Откроем опцию
    View главного меню и выполним в ней команду Start Page. Получим вид рабочего стола среды, показанный на рис. 1.15.
    Глава 1. Общие сведения о среде
    Visual C++ 2011
    . Создание консольного приложения Рис 1.14. Добавление существующего проекта в решение
    Рис.
    1.15. Вид рабочего стола среды после удаления одного проекта из группы

    22 Часть
    I. Изучение языка С/С++
    Из рисунка мы видим, что подзаголовком (где указаны проекты, с которыми недавно работала среда) имеется список проектов. К каждому из них можно вернуться, если щелкнуть на его имени. Выполнив команду Remove (Удалить проект, мы всего лишь удалили сведения о проекте из окна Solution Explorer, ноне из памяти, поэтому-то и возможно восстановление проекта. Чтобы удалить проект из памяти, надо найти папку, в которой создан проект, удалить его из папки, а потом щелкнуть на его имени подзаголовком, показанном на рис. 1.15. Если проект из памяти был вами удален, то после щелчка среда выдаст сообщение, что такого проекта нет, и попросит подтвердить его удаление. При подтверждении имя проекта удалится из окна Recent Projects. Таким способом вы сможете удалять ненужные проекты не только из группы, но и из окна
    Recent Projects на странице Start Page, чтобы они вас не раздражали. После всех манипуляций с проектами мы получим созданную заготовку нашего приложения, показанную на рис. 1.16. Рис 1.16. Заготовка консольного приложения и стартовая страница
    Мы видим, что над самой заготовкой консольного приложения имеются две вкладки и ConsoleApplication1.cpp. Если щелкнуть мышью на й из них, тона рабочем столе появится консольная заготовка-проект. Расширение cpp означает, что это исходный текст проекта на языке С. Если щелкнуть мышью на вкладке
    Start Page, тона рабочем столе появится стартовая страница среды. Таким способом можно переключаться с одного объекта на другой. Вообще, если вы добавите
    Глава 1. Общие сведения о среде
    Visual C++ 2011
    . Создание консольного приложения к проекту еще какой-нибудь элемент, воспользовавшись контекстным меню проекта и выполнив команду Add (например, новый СPP-файл), то для добавленного элемента тут жена рабочем столе откроется новая вкладка с именем добавленного элемента, чтобы можно было переключаться между элементами проекта. Теперь посмотрим некоторые файлы, попавшие в проект, показанный на рис. 1.16:

    ConsoleApplication1.cpp — главный исходный файл и точка входа в создаваемое приложение (ConsoleApplication1 — это в данном случае имя проекта

    stdafx.cpp — подключает для компиляции файл stdafx.h;

    stdafx.h — если для проекта требуются какие-то дополнительные файлы оглавления, то они задаются пользователем в этом файле

    ReadMe.txt — файл, описывающий некоторые из созданных по шаблону консольного приложения файлов проекта. Посмотреть содержимое указанных файлов можно либо через их контекстные меню, если выполнить в них команду либо просто щелкнуть мышью на имени файла. В этом случаев окне справа от окна Solution Explorer появляется содержимое файла, а над содержимым — вкладка с именем открываемого файла. Типы данных, простые переменные и основные операторы цикла. Создание простейшего консольного приложения

    Запишем в теле функции main()
    следующие две строки printf("Hello!\n");
    _getch (); Это код нашего первого приложения. Он должен вывести на экран текст "Hello!" и задержать изображение, чтобы оно не исчезло, пока мы рассматриваем, что там появилось на экране. Вывод на экран выполняет оператора задержку изображения — оператор Заметим, что оператором в С/С++ называют некоторое выражение С/С++, оканчивающееся точкой с запятой. В первый оператор входит функция printf("Hello!\n")
    , а во второй — функция
    _getch()
    (эта функция С/С++ введена вместо ранее использовавшейся функции getch()
    ). В итоге наше консольное приложение будет иметь вид, представленный на рис. 1.17. Чтобы приложение заработало, его надо откомпилировать, те. перевести написанное на языке Св машинные коды. Для этого запускается программа- компилятор. Запускается она либо нажатием клавиши , либо выполнением опции главного меню Build | Solution. Если мы проделаем подобные действия, то получим картинку, показанную на рис. 1.18.

    24 Часть
    I. Изучение языка С/С++
    Рис.
    1.17. Вид консольного приложения до компиляции
    Рис.
    1.18. Результат 1
    - й компиляции приложения
    Глава 1. Общие сведения о среде
    Visual C++ 2011
    . Создание консольного приложения Рисунок показывает, что наша компиляция не удалась в окне вывода высветились сообщения об ошибках. В частности, мы видим сообщение "error C3861: '_getch': identifier not found". Это означает, что компилятор не узнает функцию Точно также компилятор ничего не нашел относительно функции Если кнопкой мыши дважды щелкнуть на каждой строке с информацией об ошибке, тов поле функции main()
    , те. в нашей программе, в поле подшивки (вертикальная полоса слева от текста) отметится та строка, в которой эта ошибка обнаружена. Этот процесс также показан на рис. 1.19. Рис 1.19. Обнаружение операторов с ошибками в телепрограммы по результатам компиляции
    А теперь разберемся с обнаруженными ошибками. Щелкнем дважды на имени функции
    _getch()
    , чтобы пометить ее, и нажмем клавишу. Откроется окно помощи. В появившемся окне мы найдем сведения о необходимой нам функции, в том числе и о местонахождении ее описания
    Required header file conio.h (Требуется файл оглавления conio.h). Header файл оглавления, отсюда и символ h в его расширении. Если этот файл подключить к нашей программе, то компилятор станет находить сведения об этой функции и ошибка устранится. Включение файла с описанием функции осуществляется оператором
    #include
    — это оператор компилятора. Он включает в текст программного модуля файл, который указан в угловых скобках. Вы и сами можете задавать в подобных файлах необходимую для вашей программы информацию. Тогда для ее подключения к вашей

    26 Часть
    I. Изучение языка С/С++
    программе имя такого файла в операторе
    #include должно быть в двойных кавычках. Итак, в заголовке программы пишем
    #include
    . Аналогично поступаем и со второй ошибкой компиляции находим, что чтобы компилятор "узнал" функцию printf()
    , надо к программе подключить файл оглавления Вид появившейся на экране справки после нажатия клавиши на отмеченной функции printf()
    показан на рис. 1.20. Рис 1.20. Справка по функции Теперь запускаем компилятор клавишей . Результат показан на рис. 1.21. Заметим, что Редактор текста программы рассматривает две косые черты
    //
    как начало комментария — набора символов, не участвующих в выполнении программы. Заметим также, что на самом деле не запускают отдельно компиляцию, а выполняют режим
    1   2   3   4   5   6   7   8   9   ...   37


    написать администратору сайта