Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Настройка опций компоновщика.
При выборе в окне Project Settings вкладки Link (рис. 4) можно задавать параметры для 32-разрядного компоновщика (Link.exe).
Рис. 4. Вкладка Link блока диалога Project Settings.
При выборе в раскрывающемся списке Category (категория) категории опций, в блоке диалога будут отображаться опции, относящиеся к этой категории. Output file name (имя выходного файла) – переопределяет заданное по умолчанию имя программы и ее местоположение. Object/library modules (объектные/библиотечные модули) – передает компоновщику объектные файлы или стандартную библиотеку (статическую или импортируемую). Generate debug info (генерировать отладочную информацию) – предписывает создавать отладочную информацию для EXE- или DLL-файлов. Link incrementally (компоновать по шагам) – определяет пошаговую компоновку. Enable profiling (разрешить изменение временных характеристик) – создает на выходе файл, который может использоваться профайлером. Ignore all default libraries (игнорировать все библиотеки, заданные по умолчанию) – предписывает компоновщику не учитывать все библиотеки, заданные по умолчанию, при разрешении им внешних ссылок.
3. Отладка программ в Visual C++. Для изучения отладчика напишем программу, заведомо содержащую несколько ошибок, а затем исправим их с помощью отладчика. 3.1. Для создания стандартного шаблона будущей программы для Windows на Visual C++выполнить: 3.1.1. После запуска Visual C++, выполнить команду File > New; откроется окно диалога New (рис. 5). Рис. 5 Начало создания программы с помощью AppWizard
3.1.2. Выберите из списка строку MFC AppWizard (exe). 3.1.3. Введите в текстовом поле Project Name имя проекта (например buggy). 3.1.4. Нажмите кнопку ОК, чтобы запустить мастер Visual C++ AppWizard (рис. 6). Рис. 6 MFC AppWizard упрощает создание программы на Visual C++
3.1.5. AppWizard напишет основную часть программного кода. 3.1.6. На экране появиться окно первого из шести этапов работы с AppWizard (рис. 6). 3.1.7. Следует оставить без изменение все стандартные параметры AppWizard, кроме одного – по умолчанию AppWizard создает программы с несколькими окнами, а в данном случае необходима программы с одним окном. 3.1.8. Необходимо установить переключатель Single Document (рис. 6) и нажать кнопку Finish. Откроется окно New Project Information (рис. 7). Рис. 7 Следует нажать кнопку ОК, чтобы завершить создание проекта.
Далее следует копировать приведенный код в указанные методы. Для нахождения необходимых методов следует воспользоваться материалами первой части данных методических указаний.
3.2. Создаваемая программа будет вычислять среднее арифметическое чисел от 1 до 5.
3.2.1. Для хранения пяти целых чисел создадим массив data. Объявим данный массив в заголовочном файле buggyDoc.h:
class CBuggyDoc: public CDocument { . . . public: int data[5]; virtual ~CBuggyDoc(); . . . };
3.2.2. Исходные числа будут заноситься в массив в конструкторе документа:
CBuggyDoc:: CBuggyDoc() { data[0] = 1; data[1] = 2; data[2] = 3; data[3] = 4; data[4] = 5; } 3.2.3. Создадим новый пункт меню, выбрав который будет происходить вычисление. С помощью редактора меню Visual C++ включим новую команду в меню File. Чтобы запустить редактор меню перейдите на вкладку ResourseView в окне просмотра. Откроется перечень ресурсов программы buggy. Найдите в списке строку Menu и откройте ее. Дважды щелкните на строке IDR_MAINFRAME – это приведет к запуску редактора меню (рис. 8).
Рис. 8. Редактор меню Visual C++
Так как необходимо добавить в меню новую команду Calculate, щелкните на меню File, потом на Print и нажмите клавишу Insert. После этого в меню появится новая команда. Дважды щелкните на ней – откроется диалоговое окно Menu Item Properties (рис. 9), содержащее свойства команды.
Рис. 9.
Следует занести в поле Caption строку Calculate и закройте окно. Новой команде автоматически присваивается идентификатор ID_FILE_CALCULATE. Новая команда внесена в меню. Закройте редактор меню. Следующим шагом станет подключение команды к коду программы, чтобы стало возможным обрабатывать ее вызов из меню.
3.2.4. ClassWizard поможет подключить команду меню к обработчику, который будет запускаться при ее вызове из меню. Откройте окно ClassWizard, выполнив команду View -> ClassWizard (рис.10).
Рис. 10. Подключение команды меню к методу в программе на Visual C++.
Идентификатор новой команды ID_FILE_CALCULATE уже присутствует в списке Object IDs. Проследите, чтобы в списке Class name был выбран класс виды CBuggyView. Выделите строку ID_FILE_CALCULATE в списке Object IDs, затем щелкните на строке Command в списке Messages. ClassWizard предложит присвоить обработчику имя OnFileCalculate() – нажмите кнопку Ок. После этого новый метод появится в списке Member functions окна ClassWizard.
3.2.5. Дважды щелкните на строке OnFileCalculate() в списке Member functions, и в окне справа появится код метода:
void CBuggyView:: OnFileCalculate() { // TODO: Add your command handler code here } Этот метод будет вызываться при выполнении пользователем команды Calculate, поэтому в него следует поместить соответствующий код.
3.2.6. Программа должна вычислять среднее арифметическое м выводить его в окне. Прежде всего необходимо получить указатель на объект документа, поскольку исходные данные хранятся именно в нем:
void CBuggyView:: OnFileCalculate() { CBuggyDoc* pDoc = GetDocument();
|