Главная » Просмотр файлов » Краткие ответы по теории

Краткие ответы по теории (1115075), страница 4

Файл №1115075 Краткие ответы по теории (Краткие ответы по теории) 4 страницаКраткие ответы по теории (1115075) страница 42019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Принципы реализации виртуальных функций.*****37. Машинно-независимая оптимизация и машинно-зависимая оптимизация. Примерыоптимизирующих преобразований.· Машинно-независимые преобразования:1. Удаление недостижимого кодаif (1) S1; else s2 => s1;2. Оптимизация линейных участков программы:a) Удаление бесполезных присваиванийa=b*c; d=b+c; a=d*c; => d=b+c; a=d*c;b) Исключение избыточных вычислений:d=d+b*c; a=d+b*c; c=d+b*c; => t=b*c; d=d+t; a=d+c; c=a;c) Свёртка объектного кода. Производится во время компиляции только длятех операций, для которых операнды уже известны.i=2+1; j=6*i+i; => i=3; j=21;d) Перестановка операций:a=2*b*3*c; => a=(2*3)*(b*c);a=(b+c)+(d+c); => a=(b+(c+(d+c)));e) Арифметические преобразования:a=b*c+b*d; => a=b*(c+d);a*1 => a; a*0 => 0; a+0 => a;f) Оптимизация вычисления логических выражений:a || b || c || d => a, если a=true;Но: a || f(b) || g(c) - сохраняется, т.к функции могут иметь побочныеэффекты.1.

Оптимизация передачи параметров в процедуры || функции.Обычно параметры передаются через стек, и на эту процедуру может тратитьсяочень много времени.a) Передача параметров через регистры. Но, помещая переменную в регистр,мы не можем использовать её адрес.В С++ есть специальный унификатор register, который ставится дляразрешения помещения параметра в регистр.b) Подстановка кода функции (вместо вызова функции в объектный код – т.к.на вызов функции тратится время).Компиляторы могут это делать не только с макросами, но и с обычнымифукциями, но только с разрешения пользователя.4.

Оптимизация циклов.a) Вынесение инвариантных вычислений из цикловfor (i=1; i<=10; i++) a[i]=b*c*a[i]; => d=b*c; for (i=1; i<=10; i++) a[i]=d*a[i];b) Замен операций с индуктивными переменными (перменными,образующими арифметическую прогрессию).- for (i=1; i<=N; i++) a[i]=i*10; =>=> t=10; i=1; while (i<=N) {a[i]=t; t=t+10; i++;}- S=10; for (i=1; i<=N; i++) {r=r+f(S); S=S+10; } =>=> S=10; m=N*10; while (S<=m) {r=r+f(S); S=S+10; }c) Слияние и развёртывание циклов.Слияние:for (i=1; i<=N; i++) for (j=1; j<=M; j++) a[i][j]=0; =>=> K=m*N; //(остаётся 1 цикл)for (i=1; i<=k; i++) a[i]=0;Развёртывание:for (i=1; i<=3; i++) a[i]=i; => a[1]=1; a[2]=2; a[3]=3;·Машинно-зависимые преобразования:1. Распределение регистров процессора.2.

Оптимизация кода для процессора, допускающая распараллеливаниевычислений. (В программе надо выделить куски кода, эти куски вычисляютсянезависимо друг от друга => их можно вычислять параллельно по разнымпроцессам.)a+b+c+d+e+f1 поток. => ((((a+b)+c)+d)+e)+f(без распараллеливания)2 потока. => ((a+b)+c)+((d+e)+f)3 потока. => (a+b)+(c+d)+(e+f)38.

Интегрированная среда разработки (ИСР).ИСР объединила в себе возможности текстовых редакторов исх. текстов программ икомандный язык компиляции. Пользователь не должен выполнять всюпоследовательность действий от порождения исходного кода программы до еговыполнения, от него также не требуется описывать makefile.

Достаточно только удобнойинтерфейсной форме указать состав исходных модулей и библиотек. Ключи,необходимые компилятору и др. техническим средствам, также задаются в видеинтерфейсных форм настройки.Содержит в себе:· Репозиторий – организованное хранилище информации, появляющейся в течениевсего “жизненного цикла” создания программного продукта.· Специальные автоматические средства разработки образов.

Например, языки 4поколения (4GL), оперирующие образами. Такие средства позволяютосуществлять разделение обработки (создания) программы между несколькимиразработчиками.· Редакторы текстов.· Средства документирования.· Средства тестирования и отладки.· Средства управления.· Средства реинжениринга (т.е.

восстановления структуры программы по коду).Примеры ИСР – TurboPascal, Delphi, Visual Studio, K-Develop.Ключевые особенности:· Интегрированность среды· Библиотека компонент· Визуальная технология разработки· Технология two-ways-tool· Поддержка работы с базами данных· «горячие клавиши»· X-курсор· Останов с редактированием, пошаговое выполнение, подсветка выполняемойстроки39.

Основные функции редактора текста в рамках ИСР. Примеры егоинтегрированности с другими компонентами ИСР.1. Подготовка текста программы.2. Многооконный интерфейс с поддержкой “буксировки” текста мышкой (функция drag& drop – перенос фрагмента мышкой).3. Интеграция с компилятором.a) Визуализация текста в выделении лексем.b) Дополнение кода (интерактивная подсказка).Например,a. ………… (А – класс) - после выполнения такой команды получим список, чтовходит в “a”.f (………… - дополнение кода или интерактивная подсказка.c) Шаблоны кода – часто используемые фрагменты программы.d) Всплывающие подсказки.e) Выделение места, в котором при компиляции обнаружена ошибка.4. Интеграция с отладчиком.a) Отображение контрольных точек останова при отладке.b) Отображение текущего значения объекта при наведении курсора наидентификатор.40.

Отладчики, их возможности. Примеры интегрированности отладчика с другимикомпонентами ИСР.· Пошаговое выполнение программы (шаг = строка, с трассировкой внутривызываемой функции или без нее)· Выполнение программы до строки, в которой в редакторе стоит курсор· Выделение выполняемой строки в данный момент· Приостановка выполнения программы· Можно запросить значение переменной· Можно заказать вычисление некоторого выражения· Можно изменить значение переменной и продолжить выполнение программы· Расставить/снять точки останова, которые визуализируются в текстовом редакторе· Вся информация должна выдаваться в терминах исходной программы41.

Редактор внешних связей, его назначение и принципы работы. Загрузчик.· Он должен разрешить межмодульные связи (для объектных файлов, порождаемыхкомпилятором при раздельной трансляции модулей, составляющих программу)· Должен связать объектные файлы, порожденные компилятором, и библиотечныефайлы, входящие в состав системы программирования (для статическисвязываемых библиотек)Загрузчик обеспечивает подготовку готовой программы к выполнению, обрабатываютресурсы, полученные с выхода компиляторов.

Модуль, выполняющийпреобразование относительных адресов в абсолютные непосредственно в моментзапуска программы на выполнение.42. Библиотеки. Основные типы библиотек.a. Библиотеки функций - определяют возможности СП в целом, чем большефункций, тем лучше. Подразделяются на 2 класса:- библиотеки для языков программирования- библиотеки для решения задач какой-то проблемной областиБиблиотеки функций представляют собой библиотеки откомпилированныхобъектных модулей.b.

Библиотеки классов – важная часть СП, базируются на объектноориентированных языках программирования. Основной недостаток – все классыдолжны быть написаны на том же языке, что и программа.- конкретные классы- абстрактные классы- шаблоны классовСуществует так называемая проблема “жирного интерфейса” – возникает желаниевключать в библиотеки больше функций, но, с другой стороны, нельзя допускать иперегрузки.Интерфейсными называются функции, входящие в public-часть класса.Библиотеки классов компилируются вместе с программой.c. Библиотеки компонент – готовые откомпилированные программные модули.В настоящее время используются следующие технологии:· CORBA – исполняемые программные компоненты из сети.

Существует еёреализация для большинства систем. Технология не зависит от используемогоязыка.· СОМ – исполняемые программные компоненты, размещённые локально (накомпьютере пользователя). Модифицированные версии СОМ – DCOM, ActivX.· Java Beans – исполняемые программные компоненты на языке Java.Нельзя путать библиотеки с пакетами прикладных программ!Пакеты прикладных программ (ППП) – специальным образом организованныепрограммные комплексы, используемые для определённой области деятельности.Программу, написанную в виде ППП, нельзя включить в свою программу, а программуиз библиотеки – можно.Для подключения статических библиотек включаются файлы, на уровне редактора связейподключаются конкретные тела.Динамически подключаемые библиотеки подключаются не при компиляции, а в процессевыполнения.

Редактор связей формирует некоторую точку вызова подключаемойбиблиотеки. Существует некоторая группа команд, вызывающая функции даннойбиблиотеки. Преимущества динамически подключаемых библиотек:- не требуется включать код часто используемых функций- несколько программ могут использовать код одной библиотеки- нет необходимости перекомпилировать свои программы при изменении текстапрограммы в библиотеке.В виде динамических библиотек оформлены системные функции, например, API.43. Критерии проектирования стандартных библиотек.1. Общезначимость содержимого2. Эффективность3. Безопасность – не должны допускать провоцирование ошибок, а, наоборот,предотвращать их4. Завершённость5.

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

Тип файла
PDF-файл
Размер
266,75 Kb
Высшее учебное заведение

Список файлов ответов (шпаргалок)

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