adfun.ru
 
BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Турбо С: руководство пользователя. Часть 1
Автор ""
Размер 993495 Байт
Страница 20 из 69
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

     позволяет исследовать поведение отдельных частей программы. В ка-          
     честве примера предположим, что вы хотите проверить поведение от-          
     дельных частей программы.  Например,  предположим,  что вы хотите          
     проверить поведение  какой-либо  функции,  при передаче ей некор-          
     ректных параметров.  Вполне возможно, что сделать так, чтобы ваша          
     программа передала  в  функцию требуемое для этого значение,  вам          
     сложно, однако вы можете получить нужный результат,  изменив зна-          
     чение какой-либо переменной непосредственно перед тем,  как прог-          
     рамма обратится к проверяемой функции.                                     
                                                                                
          Если для выхода из поля нового  значения  вы  воспользуетесь          
     клавишей Esc  (а  не Ввод),  то отладчик не будет менять значение          
     выражения. Мы советуем вам пользоваться этой клавишей  в  случае,          
     если вы по какой-либо причине изменили свои намерения и решили не          
                                                                                
                                                                                
     вводить нового значения.                                                   
                                                                                
          Вы  можете  вычислить  значение  любого  допустимого   в  Си          
     выражения, при условии, что оно не содержит:                               
                                                                                
          # вызовы функции;                                                     
                                                                                
          # описанные  символы  (с помощью define) или типы (с помощью          
     typedef). Например: *wordptr == 0x20 верно, тогда как *wordptr ==          
     SPACE - не допускается, так как SPACE является описанием);                 
                                                                                
          #  локальные  или  статические  переменные,  находящиеся вне          
     области действия выполняемой функции (за исключением случая, ког-          
     да они полностью специфицированы).                                         
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

                         - 161,162 -
                                                                                
               Спецификация имен переменных                                     
     -----------------------------------------------------------------          
                                                                                
          Существует две типичные ситуации,  в которых возникает необ-          
     ходимость подробной спецификации имен переменных, использзуемых в          
     выражении:                                                                 
                                                                                
          # когда вы хотите проконтролировать значения переменных типа          
            static, находящихся в различных модулях;                            
                                                                                
          # или, когда вы хотите просмотреть переменные типа auto (ло-          
            кальные) или типа static, находящиеся в другой функции.             
                                                                                
          Для  полного   описания   имени   переменной  воспользуйтесь          
     следующим синтаксисом:                                                     
                                                                                
          .<имя модуля>.<имя функции>.<имя переменной>                          
                                                                                
          Отметим, что как имя модуля,  так имя функции в определенных          
     случаях могут пропускаться.  Например,  если вы трассируете  свою          
     функцию  main  и  хотите узнать значение статической переменной с          
     именем myvar, находящуюся в другом модуле с именем mysubs, то вам          
                                                                                
                                                                                
     нужно ввести .mysubs.myvar.  Если же переменная myvar находится в          
     функции myfunc модуля mysubs,  то для определения ее значения  вы          
     должны ввести .mysubs.myfunc.myvar.  С другой стороны, если пере-          
     менная myfunc, расположенная в том же самом моделе, что и функция          
     main, то для определения ее значения вам достаточно ввести только          
     .myfunc.myvar.                                                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

                         - 163,164 -
                                                                                
               Спецификаторы формата                                            
     -----------------------------------------------------------------          
                                                                                
          Для управления информацией, выводимой в окно Debug/Evaluate,          
     Турбо Си предоставляет вам спецификаторы формата выражений в поле          
     вычислений (которые подходят и для окна просмотра (Watch)).  Спе-          
     цификаторы формата следуют за выражением,  разделяются запятой  и          
     могут быть набраны на верхнем или нижнем регистрах.                        
                                                                                





Спецификатор формата состоит из необязательного повторителя (целого), следующего за ним символа формата; причем между повто- рителем и символом формата не должно быть пробелов. В таблице 4.1 приводится список имеющихся символов формата и их описание. Повторитель используется для вывода следующих подряд пере- менных, типичным примером которых может служить массив. Например, если list массив из 10 чисел, то выражение list будет выведено следующим образом: list: ( 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 ) Если вы хотите посмотреть часть массива, вы можете указать индекс первого элемента и повторитель: list[5],3: 60, 70, 80 Эта техника в частности полезна при выводе массивов большой размерности, которые не помещаются в одной строке. Применение повторителей не ограничивается массивами; за любой переменной может следовать повторитель. Выражение синтаксиса var, просто выводит последовательность из n пере- менных такого же типа что и var, начиная с адреса var. Заметьте, однако, что повторитель игнорируется если ваше выражение не соот- ветствует переменной. В данной конструкции может использоваться переменная если она находится в левой части оператора присваива- ния или, если она используется в качестве аргумента функции. - 165,166 - Таблица 4.1 ОТЛАДОЧНЫЕ СПЕЦИФИКАЦИИ ФОРМАТА ----------------------------------------------------------------- Символ Функция ----------------------------------------------------------------- С Символ. Служит для замены управляющих символов (ASCII от 0 до 31) на специальные символы. Напри- мер ^С будет выведен как "Счастливое лицо" (Happy face). Применяется для символов и строк. S Строка. Выводит управляющие символы (ASCII от 0 до 31) как величины ASCII, в соответствии с принятыми в Си управляющими последовательностями. Так как функция выводит символ и строку по умолчанию, то спецификатор S полезен только со спецификатором M. D Десятичный. Все целые величины выводятся в десятичном виде. Применяется для простых числовых выражений, таких как массивы и структуры содержащие числа. H или X Шестнадцатиричный. Все целые величины выводятся в шестнадцатеричном виде с префиксом 0x. Применяется для простых числовых выражений, таких как массивы и структуры, содержащие целые числа. F С плавающей точкой. n - целое от 2 до 18, обозначает количество значащих цифр, предназначенных для вывода. Применяется только для величин с плавающей точкой. M Дамп памяти. Выводит дамп памяти, начиная с адреса, указанного в выражении. Выражение может быть конструкцией, допустимой в левой части опера- тора присваивания, т.е. конструкцией, обозначающей адрес памяти; в остальных случаях спецификатор M игнорируется. По умолчанию, каждый байт переменной представляется двумя шестнадцатиричными цифрами. Если спецификатор M дополнен спецификатором D, то байт представляется в виде десятичных цифр, если же X или H, то в виде шестнадцатиричных. В случае спецификаторов C или S переменные выводятся как строки ( с или без специальных символов). По умол- чанию, количество байт соответствует размеру пере- - 167,168 - менной, но может быть использован повторитель для точного указания количества байт. P Указатель. Выводит указатели в виде seg:ofs с дополнительной информацией об адресе, это предпочтительнее чем принятый по умолчанию машинно -зависимый seg:ofs формат. Формат seg:ofs говорит вам об области памяти, в которой размещен сегмент и имени переменной по адресной ссылке. Ниже приведены области памяти:


Страницы : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.