adfun.ru
| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
іЁ File Edit View Run Breakpoints Data Options Window Help READYі
іЙН[*]НModule: TCDEMO file: TCDEMO.C 32ННННННННННННННН1Н[ ][ ]»і
іє nwords = 0; ^і
іє totalcharacters = 0; Іі
іє showargs(argc,argv); ±і
іє while (readaline() != 0) { ±і
іє wordcount = makeintwords(buffer); ±і
іє nwords += wordcount; ±і
іє totalcharacters += analyzewords(buffer); ±і
іє> nlines++; ±і
іє } ±і
іє printstatistics(nlines, nwords, totalcharacters);±і
іє return(0); ±і
іє } ±і
іє і* Чтобы превратить буфер в список завершающихся нулем ±і
іє слов, удалить пустое место ±і
іє *і ±і
іє static int makeintwords(char *bufp) { ±і
іє unsigned int nwords; ±і
іє слов, удалить пустое место vі
іИ<І±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±>Щі
іЪWatchesДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД2їі
ііnwords unsigned int 0 (Ox2) іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іF1=HelpF2=BkptF3=CloseF4=HereF5=ZoomF6=NextF7=TraceF8=StepF9=R.і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 3.7 Переменная в окне Watches
Переменная nword появилась теперь в окне Watches (Просмотр)
в нижней части экрана, где указаны также ее тип (unsigned int) и
значение. По мере выполнения программы Турбо отладчик изменяет
это значение и отражает текущее значение переменной.
TDeb 3.0 #1-3 = 79 =
Анализ простых объектов данных программы на языке Си
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Когда вы останавливаете выполнение своей программы, сущест-
вует много способов просмотра данных с помощью команды Inspect
(Проверка). Это очень мощное средство позволяет вам анализировать
структуры данных таким же образом, как если бы вы визуально наб-
людали их при разработке программы.
Команды Inspect (в различных локальных меню и в меню Data)
позволяют вам наблюдать за любой заданной переменной. Предполо-
жим, вы хотите взглянуть на значение переменной nlines.Перемести-
те курсор таким образом, чтобы он оказался под одной из букв име-
ни nlines, и выберите команду Inspect (Проверка) локального меню
окна Module (Модуль), для чего нажмите клавиши Ctrl-I. При этом
будет выведено окно Inspector (Проверка).
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
іЁ File Edit View Run Breakpoints Data Options Window Help READYі
іЪД[*]ДModule: TCDEMO file: TCDEMO.C 44ДДДДДДДДДДДДДДДДДДДДДДДїі
іі nwords = 0; іі
іі totalcharacters = 0; іі
іі showargs(argc,argv); іі
іі> while (readaline() != 0) { іі
іі wordcount = makeintwords(buffer); іі
іі nwords += wordcount; іі
іі ЙInspecting nlinesНННН3Н[ ][ ]»(buffer); іі
іі є@793E:FFCO є іі
іі } єunsigned±int±±±±±±±0±(Ox0)±±±є іі
іі printstИНННННННННННННННННННННННННННННјharacters);іі
іі return(0); іі
іі } іі
іі /* Чтобы превратить буфер в список завершающихся нулем іі
іі слов, удалить пустое место іі
іі */ іі
іі static int makeintwords(char *bufp) { іі
іі unsigned int nwords; іі
іі слов, удалить пустое место іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іЪWatchesДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД2їі
ііnwords unsigned int 0 (Ox2) іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іF1=HelpF2=BkptF3=CloseF4=HereF5=ZoomF6=NextF7=TraceF8=StepF9=R.і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 3.8 Окно Inspector
В первой строке (заголовке) этого окна вам сообщается адрес
данной переменной в памяти. Третья строка показывает, какой тип
данных хранится в переменной nlines (это тип unsigned int языка
Си). Справа указано текущее значение переменной.
Теперь, проверив значение этой переменной, нажмите клавишу
TDeb 3.0 #1-3 = 80 =
Esc для того, чтобы закрыть окно Inspector. Для этого (как и во
всех других окнах) можно также воспользоваться клавишами Alt-F3,
либо закрыть окно с помощью "мыши".
Давайте рассмотрим, что вы в действительности здесь сделали.
Нажав клавишу Ctrl, вы выбрали сокращенный вариант команд локаль-
ных меню в окне Module. Нажатие клавиши I задало команду Inspect
(Проверка).
Для проверки элемента данных, который не виден в окне
Module, выберите команду DataіInspect (ДанныеіПроверка). Выводит-
ся рамка подсказки (диалоговое окно), где вы можете ввести имя
переменной, которую требуется проверить. Наберите имя letterinfo
и нажмите клавишу Enter. Появляется окно проверки, где выводятся
значения элементов массива letterinfo. В заголовке окна проверки
показывается имя проверяемых данных. Первая строка под заголовком
- это адрес в оперативной памяти первого элемента массива
letterinfo. Для просмотра (с помощью "прокрутки" окна) 26 элемен-
тов, входящих в letterinfo, используйте клавиши стрелок (в заго-
ловке окна проверки выводится имя и тип проверяемых вами данных,
которые в точности соответствуют описанию этих данных, содержаще-
муся в исходном файле). В следующем разделе рассказывается о том,
как можно проверять такие сложные объекты данных.
TDeb 3.0 #1-3 = 81 =
Анализ сложных объектов данных программы на языке Си
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Сложные (составные) объекты данных, такие, как массивы или
структуры, содержат несколько компонентов. Переместитесь на чет-
вертый элемент массива letterinfo (элемент, указанный индексом
[3]). Для вывода локального меню для окна Inspector (Проверка)
нажмите клавиши Alt-F10 и I. Появляется новое окно проверки, в
котором показывается содержимое элемента массива. В этом окне
Inspector показано содержимое структуры типа linfo.
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
іЁ File Edit View Run Breakpoints Data Options Window Help READYі
іХД[*]ДModule: TCDEMO file: TCDEMO.C 44ДДДДДДДДДДДДДДДДДДДДДДДїі
іі letterindex = toupper(*bufp) - 'A'; /* index fromіі
іі if (first) { іі
іі letterinfo[letterindex].firstletter++; іі
іі ХInspecting letterinfoДДДДДДДДДДДД3ї іі
іі і@793E:0852 і; /* count іі
іі і[0] {1,1) і іі
іі і[1] {1,0) і іі
іі і[2] {1,0) і іі
іі і[3] {1,1) і іі
іі } і[4] {1,0) і іі
іі wordcouі[5] {1,0} і іі
іі bufp++;ГДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДґ іі
іі іstruct linfo і іі
іі return(chАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ іі
іі> } ЙНInspecting Letterinfo[3]НН4Н[ ][ ]» іі
іі є@793E:085E є іі
іі /* вывестиєcount 1 (Ox1) є іі
іі всю стаєfirstletter 1 (Ox1) є іі
іі є<І±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±>є іі
іі єstruct linfo є іі
іАДДДДДДДДДДДДИНННННННННННННННННННННННННННННННННННЅДДДДДДДДДДДДЩі
іЪWatchesДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД2їі
ііnwords unsigned int 0 (Ox2) іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іF1=HelpF2=BkptF3=CloseF4=HereF5=ZoomF6=NextF7=TraceF8=StepF9=R.і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 3.9 Проверка структуры
Когда вы поместите курсор на одном из имен элементов струк-
туры, тип данных этого элемента появится в нижней области окна
проверки. Если один из этих элементов представляет собой, в свою
очередь, составной объект данных, вы также можете дать команду
проверку и еще более углубиться в структуру данных.
Для удаления окна Inspector (Проверка) и возврата в окно
Module (Модуль) нажмите клавиши Alt-F3. (Клавиши Alt-F3 дают
удобный способ удаления нескольких окон проверки сразу. Если вы
нажмете Esc, то будет удалено только последнее окно проверки.)
TDeb 3.0 #1-3 = 82 =
Изменение значений данных в программе на языке Си
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Итак, вы теперь узнали, как можно просматривать данные в
программе. Давайте теперь попробуем изменить значение элемента
данных.
С помощью клавиш со стрелками перейдите на строку 38 исход-
ного файла. Поместите курсор на переменную totalcharacters и для
проверки ее значения нажмите клавиши Ctrl-I. После того, как бу-
дет открыто окно Inspector, нажмите для вывода локального меню
окна Inspector клавиши Alt-F10 и выберите команду Change (Изме-
нить). (Это можно сделать также непосредственно, нажав клавиши
Ctrl-C.) Появляется подсказка (диалоговое окно), запрашивающая
новое значение.
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
іЁ File Edit View Run Breakpoints Data Options Window HelpPROMPTі
іЪД[*]ДModule: TCDEMO file: TCDEMO.C 38ДДДДДДДДДДДДДДДДДДДДДДДїі
іі nlines = 0; іі
|
adfun.ru
|
|
|
|