Главная » Просмотр файлов » А.А. Белеванцев, С.С. Гайсарян, Л.С. Корухова, Е.А. Кузьменкова, В.С. Махнычев - Алгоритмы и алгоритмические языки

А.А. Белеванцев, С.С. Гайсарян, Л.С. Корухова, Е.А. Кузьменкова, В.С. Махнычев - Алгоритмы и алгоритмические языки (1113416), страница 16

Файл №1113416 А.А. Белеванцев, С.С. Гайсарян, Л.С. Корухова, Е.А. Кузьменкова, В.С. Махнычев - Алгоритмы и алгоритмические языки (А.А. Белеванцев, С.С. Гайсарян, Л.С. Корухова, Е.А. Кузьменкова, В.С. Махнычев - Алгоритмы и алгоритмические языки) 16 страницаА.А. Белеванцев, С.С. Гайсарян, Л.С. Корухова, Е.А. Кузьменкова, В.С. Махнычев - Алгоритмы и алгоритмические языки (1113416) страница 162019-04-24СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Основным сцензписм непользования является автоматическая Гснсрзция ОдпотипнОГО кода. который нс)келател( но писать вручную, или обеспечение переносимости программы (см. Ниже). Некоторые макросы уже определень( компилятором Си, и их можно использовать В лк)оой про( рзмыс. Как правило, такие макросы содержат информаци(О либо о ~В~ЙСТВЗХ ж)к(пи»»ягора, например. О поддерживаемой им версии Си (к(зкрос ЯТ1)0 '«)ЕЯЯ10)( '), либо о свойствах кОмпилирусмОГО фанлз н окружения и используются при (ЛПЗДКС, ПЗПРИЗ(СР„МЗК))ОСЫ Е1' Е, «.1))Е «0)А«Е Н ДРУГИЕ.

Каждый компилятор часто добавляет сооственияе заранес определенные макросы к стандартным. Например, -'ЛФ-": (((т для компилятора ССС узнать полный список таких макросов можно„запустив команду прспроцсссн))овзния пустого фзй»яа С ЗЗПИСЫО МЩЦ)ОСОВ: ооо -с))Я -Š— < «'КО»У/0011.

Кроыс з)ОГО, препрОцсссор также позвОляст ОрГзнизовз(ь вклк)чсн(гс Оп))сделанных частей файла В Окончательный тскст файла в зависимости от нскОторых условий, Чаще все) О эта возможность служит для повыщсния переносньихтн программы. 1фи п«.рвоначзльной настроике проГраммы на КО)ькретн',~)О архитектуру кОмпь)отсра с пом0(цыо ряда тестов сОздзстся конфигурационный заголоВочный файл, В которок( с помощью «Директив 6 бс б).

00 ')ЗВОдятся имена-макрОсы, Ознзчакяцие наличие или Отсутствие Опрсделснных свойств зрхитстсгуры или Ог)срацноннОЙ (.Нстсмы, Дирс((тивы Ф' 1(зе-."уйе1зе,«йепатй позволяют проверить, определено ли конкретное имя, н в зависимости от этого включить или пе включить текст между $1бооб и Фспц:: т В окончательный текст файла. Вариант с директивой йе1ве позволяет вкл)0чить альтернативный тексг при нсвь)полпенни услОВия, Например, если в конфигурационном файле есть определение Ф()еб»пе КАЧЕ ЕОН0 001)В1Е 1, то СЛЕдУющий фрагмент кода позволяет переносимо определить тип 100«з(ЭЗГ 1).ОЗЗ: ".ур)с()еб 10«по ()ОПЬ10 1опдевб 11оа( ) ,.уре()об оо(»Ь" е 1опдев 110ас; ) '«1 «й иляции яйляет )вочнога ., ф 1 ЮОдер)жаг О( ПРИВЕСТИ К сипя в текст ЫМИ СВЯЗЯМ МН СИТУВЦИЯ жна„через д кнуть.

ВО изб ГЦИЙ Г)РИСК еля1ат упикал 1оча( 3 ся лиш елена. Паприк Г Лв Вшита О с файл ре я переме (М11 Д) ДУ ОТД такой Оп каждОГ мя макр ии, За!Т)ло фУНКЦНЙ, НЕОДНОК ой прагр(ь ЗВГОЛОВ алла В )ЪЯВЛЕНН ОШИ(Ж п))0)Т)аь И МЕЖ двойн рутие за ежание 1: ДЛЯ ЬНО(. и Ь ПРИ !Юр, для учае я баль ельным ЬЛК ЧЕНИ ньге ф ПГЙКИ О ЗВГ ОСГЧ И ЧТО о~ными -':!::;:,'Г~';,!!6: ОВОЧНОГО ССЬ ТСКС стандарт наго Й 1 13, бег Я "~'Й„с; 4 ае з'.

з по ЯТ 1) .' а Н <... тек()т файла аеас(3 Й Компоновп!Ик обеспечивает сборку программь) в едипом ис)талняемам файле из набора объектных файлов. Д'и задания правил коьпц)невки глобальных перемепных и фУНКЦИй НСПОЛЬЗУКПСЯ ПОНЯТИЯ 633))Л3)(333(ЕЙ И ВИЕП(БЕЙ камп01говки (третья сизуация, без компановки, испальзу(тсЯ для локальных и реГисгрОВых переменных, которые не ма) ут быть видимы за пределами теку(цсго файла). Рлабальные переменные, объявленные с квалификатаром ага = Те, подлежи( впугрспней компоновке -- их имена должны бьггь уникальны в пределах файла.

Г:)ооальные статические переменные с Одинаковым именем В ргеи!ых фай3гах разрешены, при компоновке получа~ разньге области за)'Олс файль МОГУ Г Вк)пач СЛОЖИ файла ВОЗМО ВОЗНИ следуто ОПРЕД ПОДКЛ ОПРЕД изац нх Я айл Обь д фаЙ) 1лабал) ные перемеиные, Ооьявленньге без КВВЛИфикатОРВ нли с квалифйкаТаоом ехяеьг), ПОД))сжат внешией компановк(гь Во Всех компонуемых файлах конкретное имя может иметь лишь одна глобальная виеш)(яя Пере~с~~ля. При зтам ).акая перемениая может быть объявле1га В 1гескольких файлах, об~зате~ьна квалификатаром ех, е Яп. Эти обьявлення пе выде))як)г памяти для переменной.

Иа лишь увеломлягот кампи))втор о наличии в статической памя~и перемепнай с апределенпым ~ипам и именем. Ог(реле))епием )лобальной внешнеЙ переменпаи является ее 06)ъяв))ение без квалнфикатора ех .е гп, такое Определеиис може( содержать инициализациго переменной константным выражением и должно быть едииственно для Всех компонуемых файлов. Такое Определение Выделяет неааходимый для переменной объем статической Гтамяти. и Все Объявления зтоЙ г)1обалы(ай перемепнОЙ с квалифпкьчаром ехеегп сс)13!Вкзтся на КГОТ у')веток п~~я~и.

Таким Оаразом, абеспе'(иввется использование одной переменной разными файлами Г!рограм мы. Функции. как и переменньиь должны быль абьявлепы квалификатара е с ат 3. ~ или с квачнфикатором е)' се ' длЯ т01'О, ч)абы их мйжнО было Вызьгвать нз ДруГих файлов (т.н. Вп(,1йние ())ункции). ПО с01лашепиго функции, ш1ределенньге в друГИХ файлах, Объявляк(тся квалификатором ехке и и, как правн)за, Вк)почак)тся В соответствующие заголовочные файлы. Среди камионуемых файлов ма)кет быть лишь единственное определение гио много объявлений) Внешней функции с Данным именеи. Функция же, ОбъяВлеиная или определенная с кВалиф1гкатарам В'";.ВТ .~0, яВляется стаГическай и невидима для функций из дру(их файлов.

Тем не менее, например, она мажет аыть Вызваиа через указате31ь. Переданный В ())ункцик) файла. Раз)) с1цсно Определят ь стати чсск ис ОдннакОВым именем В разных ПРОГраммных ИЗ ДРУ)ОГО функции с файлах, ШЕЙ ПРВКТИКОЙ ПРО)! Раммн функций и глобальных пере) руГих г!))Ограммн)лх файлах. см квалификато))а аг акт о ! . , которые составля)от интерфе ь ОбъЯВлсны как внсшннс.

роваиия генных. пу)кны для д ис пользованн ка)" стати Только ф Йс даннО ческих гс переменные должны Оьп От)г!дко!! называется процесс поиска и удаления ошибок из программы. Как правило, при отладке известны входньш;шнные. На которых программа работает некорректно нли !.енерпрует неверные выходные данные, Основная слОжнос)ь заключа)-.тся в Обнаружении причины нсвернОГО поведения — набора точек программы.

в которых данные обрабатываются неправильно, по ведет к неверному выходу программы, Собственно исправление найденных ошибочных мест программы часто требует меныце усилий. Базовым способом отладки является т.н. 0))иадо!Нш) лачин!ь — Вставка В прои ))амму Операторов, ВИВОдя!цих ш)формацию 0 тскушсм значении пс))сменных проГраммы и принимаемых ск) рсшсниях Отладочп) ю псчк1 ь принято Вьшолнять на стандартный БОчОк ОшибОК.

ДДЯ )удобнОГО включсниЫ)тключения отладочной печати во всей прог))амыс выдачу печаги обы«шо контролируют единь!м макросом. опцией командной строки или переменной окружения. Часто используют разные уровни детализации информации при отладочной пе ати,. также управляемые опш!ями командной строки или переменными окруя!сн)ш.

Основным н!!Струмсптоы о'пчадкн прог))аым Являютс~ гэлц!ПДе!В)г!1 От!!Вэ!Чик позволЯС! Полу~)ать ннформаЦИЮ поведении проГраммы на заданном наборс Входных дан)!Ых, не меняя гв ндсш!ыюм случае) сс пОвсдсння. Как правило, Отладчик запускает программу на заданных Входнь!х данных В управляемом режиме, гюзволяя в любой момент времени остановить или возобновить выполнение, поцгагово (с точносп„о до отдельных строк кода на Си илп ассемолерс целевой машины) выполнять программу, ос:ганавливать выполнснис по достижении заданных точек прОГраммы ~тл!.

шолхи ос)лалоаа) безусловно илн при выполнении нск!Ггорого условия на значения заданных ячеек памяти, ОстшшВливать выполнение при изменен!Ги значения в заданных ячейках памяти !т.н. )почки наблкк)ения), просмагривать или изменять ~ВО Время ОСГВНОВкн Выполнсння) значения перемени)!х, ячеек гшмяти, просматривтгь текущий 0)ск Вь)зовов. ))ужнО Отмстнть, чтО Отладчнк у'правляст проГраммой В Оинарном Виде !Машнн!!Ых кодах и ячсйквх памяти), а прОГраммнсту 1рсоустся получать информацию В терминах п)эограммы я~ык~ Сн Гс)ТЮХ и Операторов исходного кода программы, перемсниых). Для Обеспечения Такой в~~можност~ компилягоры Сн ПО~В~~ЛЮТ !оперировать т.н.

Оэгьлпдочлгю инфо))мпн!ПО, которая устанавливает соответствие между Объекг;)мн программы на Языке Си и объсктамн мшлинной программы, и записыать сс спсциальньш части исполняемо!О файла г!ро!рамь!ы. Без отладочной ии!))ормации пользование отладчиком возможно только на уровне яз),!ка ассемблера. В компиляторе ОСС ~~ладо~ной ннформшп!и вкл!Очастся опцией командной строки -й. Рскомш!Дуется гакжс Отключать Выпо:ц)снис Оптимизаций компилятора с пОмОщью Опции 00, так как построение и поддержание отладочной ннформапии в ходе п1)ОВсдсния Опти)4ж)ацнй компилятором Вяляс Гся весьма 1!стриВнальнОЙ задачей и плОхО 1 С ) ВЬГПОЛНИТЬ ТСКУ1ДУГО СТ1)ОКУ нсхОЛИОГО кзда про!рамыы ~ ОСЗ ЗВХОДГо)' ")ВХОЛОМ В ~ — — В ГО В ")ВГРУЗИТ)г ПД , 'заданнььми комаплнон стрО ! < а Г г„; я: 1)г)~лс1)ягнвпетсяг ком1П)ля)Срами.

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

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

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