Главная » Просмотр файлов » GCC - The Complete Reference

GCC - The Complete Reference (537669), страница 59

Файл №537669 GCC - The Complete Reference (GCC - The Complete Reference) 59 страницаGCC - The Complete Reference (537669) страница 592015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 59)

2б4 Часть |И. Внутренняя структура и окружение 1оаа аехг пахс1 рг1ас рс ура гакага гаа гиагсЬ аес асар асер1 ааааар1ау нагон нЬак1в хьгаах Овеса вае Динамически загружает указанный выполняемый файл в ваь и подготавливает его к отладке. Продолжает выполнение остановленной программы и выполняет все инструкции языка ассемблера, соответствующие одной строке исходного кода. Данная команда воспринимает вызов функции как одну строку и не останавливает выполнение до выхода из этой функции.

Продолжает выполнение остановленной программы и выполняет одну инструкцию ассемблера. Эта команда воспринимает вызов функции как одну строку и не останавливает выполнение до выхода из данной функции. Выводит на экран значение укаэанного выражения. Выводит на экран тип укаэанного элемента. Приводит к немедленному выходу из текущей функции. Запускает программу на выполнение с начала. Устанавливает слежение за значением. При этом выполнение программы останавливается при каждой операции считывания из области памяти с указанным именем.

См. также ивась и аиассь. Устанавливает значение указанной переменной, равным результату выражения. Так, например, команда аас ата1 За эапишвт значение 54 в область памяти с именем пта1. Продолжает выполнение остановленной программы и выполняет все инструкции ассемблера, соответствующие одной строке исходного кода. По этой команде отладчик входит в вызываемые функции. Продолжает выполнение остановленной программы и выполняет одну инструкцию языка ассемблера. По этой команде отладчик входит в вызываемые функции. Устанавливает временную точку останова 1которая срабатывает только один раз) на выходе текущей функции.

Также см. команду хьгааь. Удаляет ранее заданное выражение 61вр1ау по его номеру. Устанавливает слежение за значением. При этом выполнение программы останавливается при каждой операции записи е область памяти с указанным именем. См, также гиаксЬ И анаксЬ. Выводит тип данных и значение указанного выражения. Устанавливает точку останова на выходе иэ текущей функции. Также см. команду кхьгааь. ава Уаееешы шеНе е АеТеаееТ та глава является введением в работу с утилитой ва)се, которая может использоваться для управления проектами разработки программного обеспечения, и с утилитой дцсосопй, использующемой для настройки конфигурации и упаковки программного обеспечения с открытым кодом для его выпуска и распространения.

Глава не является полным руководством по всем возможностям этих утилит, но она содержит достаточно большой объем материала для помощи программисту в выборе средств среды разработки программного обеспечения. В ней коротко рассмотрены назначение и общие принципы работы каждой из рассматриваемых утилит. Утилита аале Утилита гав)се является наиболее часто используемым средством в процессе разработки программного обеспечения. Основная идея утилиты гва)се очень проста— исследовать файлы исходного и объектного кода для определения того, какие из исходных файлов следует перекомпилировать для создания новых обьектных файлов. Утилита гав)се предполагает, что во все более новые исходные файлы, чем соответствующие им объектные„были внесены изменения, и поэтому их следует скомпилировать заново.

Вся работа гва)св основана именно на этом принципе. Взаимосвязь вежду объектным файлом и файлол» исходного кода, на основе которого был создан данный объектный файл, называется зависимостью (с)ерепдепсу). Объектный файл, полученный после выполнения команд, определяемый зависимостью, называется целевым файлом или целью (гагяе!). Для получения зависимостей утилита гва)се считывает определяющий их сценарий, Этот сценарий, как правило, имеет имя вгакейх1е или ма)сехз.1е.

Он содержит список зависимостей, а также команды, которые преобразуют исходный код в объектные файлы. Например, следующие строки сценария шакейх1е указывают, что 266 Часть П). Внутренняя структура и окружение программа ягалппйв имеет зависимость от исходного файла йгапппйв . с, сценарий также содержит команду компилятора дсс, необходимую для создания целевого файла: йгапяпзв: йгавш1в.с дсс ггашшгв.с -о ггашшзв Следует сказать, что утилита ша)се была создана еще в первые годы существования 13)Ч)Х и до сих пор сохранила странное требование к команде, которая находится под строкой зависимости — команде ДОЛЖЕН предшествовать символ табуляции.

Символ табуляции, хотя он и не виден на экране и при печати, является обязательным требованием синтаксиса сценария гпа)кей11е. Если табуляцию в начале строки команды пропустить (или вместо табуляции воспользоваться пробелами), то будет выдано сообщение об отсутствии оператора, которое„к счастью, содержит и номер той строки, в которой отсутствует табуляция.

Очень часто файл зависит от другого файла, полученного на основании другой зависимости. Например, следующие зависимости приводят к компиляции программы йгашш1в: ггалппгв: Егапппьв.о дсс йгаппп1в.о -о ггалш1в йгапппьв. о: йгапппьв. с дпс -с йгавшьв.с -о йгалппзв.о В приведенном примере выполняемая программа ягапипйв зависит от файла йгапппзв. о, который, в свою очередь, как видно из листинга, зависит от файла йгапппйв. с. При запуске утилиты ша)се она начинает считывать содержимое всего компоновочного файла (его другое название таКе-файл) и на основе цепочки зависимостей строить внутреннее дерево, при этом первая зависимость в файле становится корнем дерева.

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

Это вовсе не ограничение, как может показаться иа первый взгляд, поскольку всегда можно вставить специальные зависимости, включающие все остальные зависимости, как показано в следующем примере, где слово а11 используется в качестве фиктивной цели: а11: ггашш1в сооьег ггаппп1в: ггаппп1в.с клапанов.п дсс ггалппзв.с -о ггаппп1в сооиег: сооьег.с сооьег.п дсс соолег.с -о сооьег Глава 14.

утилиты гпвхе и дц(осоп( 267 Цель а11 связана с зависимостями бкювафв и соо)сер. Несмотря на то, что цель а11 имеет две зависимости, с ней не связаны команды. Тем не менее, это не ошибка, поскольку единственным ее назначением является принудительное соблюдение зависимостей.

В качестве корневого элемента внутреннего дерева компоновки будет использоваться элемент а11, а Нтавв1в и соо)сед будут узлами дерева. В компоновочный файл могут включаться элементы, не являющиеся зависимостями, и связанные с ними команды, но они также используются с единственной целью — определить зависимости и команды. Майе-файл вызывается следующей простой командой: 3 вахе По умолчанию утилита ва)се сначала в текущем каталоге осуществляет поиск файла с именем ва)сей11е. Затем, если такой файл не найден, осуществляется поиск файла ма)сей11е. Если и такой файл не найден, никаких дальнейших действий ею не лреллринимается.

В командной строке можно указать нмя лиКе-файла, как показано в следующем примере: 3 вахе -т вувахек11е.секс Внутренние определения Для удобства построения правил на основе зависимостей и требований к целевым файлам можно использовать предопределенные макросы и устанавливать неявные правила, которые могут использоваться утилитой ва)се лля преобразования файла из одного типа в другой.

Макросы Макрос можно определить тремя различными способами. Следующее определение цели в компоновочном сценарии демонстрирует назначение и использование макросов: впоивастов! есьо НОМЕ 1в 3(номе) $опредепена как переменная средм ес)то совр11е.к 1в в(сомртье.к) $опредепена по умолчанию дпя $вахе-файна есьо неевеет 1в 3(неевевт) $опредепяется локально в ваке-файле При считывании гпа)(е-файла, когда утилита тахе встречает символ $, оставшаяся часть строки считается комментарием и игнорируется.

Цель в)томвасков будет все~да выполнять связанные с ней команды, поскольку лля нее не приведены зависимости, а по умолчанию предполагается, что цель должна быть создана. Содержимое переменной может извлекаться и использоваться в выражениях. Для этого имя переменной указывается с предшествующим знаком доллара и заключается в скобки 3 (... ]. В приведенном примере значение переменной НОМЕ считывается из переменной окружения, ООМРХЬЕ.

Характеристики

Тип файла
DJVU-файл
Размер
6,08 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6458
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее