debugDDr (1158410), страница 8

Файл №1158410 debugDDr (Раздаточные материалы) 8 страницаdebugDDr (1158410) страница 82019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Следующие функции обращаются к функциям модулей накопления или сравнения трассировки в зависимости от заданного режима:

void cmptrace_BeginSeqLoop( char *File, unsigned long Line, long No )

File

имя файла с исходной DVM-программой;

Line

номер строки в DVM-программе;

No

уникальный номер конструкции.

Функция отмечает начало последовательного цикла программы.

void cmptrace_BeginParLoop( char *File, unsigned long Line, long No, byte Rank, long *Init, long *Last, long *Step )

File

имя файла с исходной DVM-программой;

Line

номер строки в DVM-программе;

No

уникальный номер конструкции;

Rank

размерность цикла;

Init

массив начальных значений итерационных переменных;

Last

массив конечных значений итерационных переменных;

Step

массив значений шагов приращения итерационных переменных.

Функция отмечает начало параллельного цикла программы.

void cmptrace_BeginTaskRegion( char *File, unsigned long Line, long No )

File

имя файла с исходной DVM-программой;

Line

номер строки в DVM-программе;

No

уникальный номер конструкции;

Функция отмечает начало области задач программы.

void cmptrace_EndStruct( char *File, unsigned long Line, long No, unsigned long BegLine )

File

имя файла с исходной DVM-программой;

Line

номер строки в DVM-программе;

No

уникальный номер конструкции;

BegLine

номер строки начала конструкции.

Функция отмечает завершение цикла или области задач.

void cmptrace_Iter( AddrType *index )

index

массив указателей на итерационные переменные.

Функция отмечает начало новой итерации цикла или новой задачи.

void cmptrace_PreStoreVar( char *File, unsigned long Line, char *Operand, long Type, byte Reduct )

File

имя файла с исходной DVM-программой;

Line

номер строки в DVM-программе;

Operand

имя переменной;

Type

тип переменной;

Reduct

флаг обращения к редукционной переменной.

Функция отмечает начало вычисления нового значения для переменной с именем Operand.

void cmptrace_PostStoreVar( char* File, unsigned long Line, char* Operand, long Type, void* Value, byte Reduct )

File

имя файла с исходной DVM-программой;

Line

номер строки в DVM-программе;

Operand

имя переменной;

Type

тип переменной;

Value

адрес переменной;

Reduct

флаг обращения к редукционной переменной.

Функция отмечает завершение вычисления выражения и запись результата в переменную с именем Operand.

void cmptrace_LoadVar( char* File, unsigned long Line, char* Operand, long Type, void* Value, byte Reduct )

File

имя файла с исходной DVM-программой;

Line

номер строки в DVM-программе;

Operand

имя переменной;

Type

тип переменной;

Value

адрес переменной;

Reduct

обращение идет к редукционной переменной или нет.

Функция отмечает чтение значения переменной.

void cmptrace_ReductVar( char *File, unsigned long Line, long Type, void *Value, byte Wait )

File

имя файла с исходной DVM-программой;

Line

номер строки в DVM-программе;

Operand

имя переменной;

Type

тип переменной;

Value

адрес редукционной переменной;

Wait

флаг отложенной записи результата. Равен 1, если результат редукции необходимо помещать в трассировку только после завершения текущей параллельной конструкции.

Функция отмечает завершение вычисления редукционной операции.

void cmptrace_SkipBlock( char *File, unsigned long Line )

File

имя файла с исходной DVM-программой;

Line

номер строки в DVM-программе;

Функция отмечает завершение блока собственных вычислений в последовательной ветви программы.

Следующие функции предназначены для работы со структурами описания исполняемых конструкций программы.

STRUCT_INFO* trc_InfoNew(STRUCT_INFO* pParent)

pParent

указатель на описание объемлющей конструкции.

Функция выделяет память и инициализирует новую структуру с описанием исполняемой конструкции.

void trc_InfoDone(STRUCT_INFO* pInfo)

pInfo

указатель на описание конструкции.

Функция-деструктор описания конструкции.

int trc_InfoCanTrace(STRUCT_INFO* pInfo, int nRecType)

pInfo

указатель на описание текущей исполняемой конструкции;

nRecType

тип записи трассировки.

Функция определяет необходимость трассировки записи указанного типа в соответствии с параметрами конструкции.

void trc_InfoSetup(STRUCT_INFO* pInfo, long *Init, long *Last, long *Step)

pInfo

указатель на описание конструкции;

Init

массив начальных значений итерационных переменных;

Last

массив конечных значений итерационных переменных;

Step

массив значений шагов приращения итерационных переменных.

Функция инициализирует структуру описания конструкции в момент начала ее исполнения.

STRUCT_INFO* trc_InfoFindForCurrentLevel(long No, byte Type, byte Rank, char *File, unsigned long Line)

No

уникальный номер конструкции;

Type

тип конструкции (параллельный или последовательный цикл, область задач);

Rank

размерность конструкции;

File

имя файла с исходной DVM-программой;

Line

номер строки в DVM-программе.

Функция осуществляет поиск на текущем уровне вложенности конструкций и возвращает как результат поиска описание конструкции с заданными параметрами. Если описание конструкции с заданными параметрами отсутствует, то инициализируется новая структура и возвращается как результат.

STRUCT_INFO* trc_InfoFindByNo(long No, s_COLLECTION *pColl)

No

уникальный номер конструкции;

pColl

коллекция описаний конструкций.

Функция рекурсивно перебирает все элементы коллекции и возвращает описание конструкций с указанным номером. Возвращает NULL, если описания конструкции с казанным номером не существует.

6.5.2Модуль записи трассировки

Функции модуля записи трассировки предназначены для формирования файла трассировки и конфигурационного файла трассировки. Прототипы функций модуля следующие:

void trc_wrt_header( s_COLLECTION* pStructs, int Level, FILE *hf, int nWriteInfo )

pStructs

коллекция конструкций программы верхнего уровня;

Level

степень вложенности конструкций;

hf

дескриптор файла;

nWriteInfo

флаг записи информационных комментариев.

Функция записывает в файл конфигурационные параметры трассировки для каждой конструкции программы. Дополнительно, если задан флаг записи информационных комментариев, то в файл пишутся специальные комментарии с суммарными значениями объемов трассировки для каждой конструкции. Функция рекурсивно обращается к себе со значением Level+1 и коллекцией конструкций следующего уровня каждого элемента из коллекции pStructs.

void trc_wrt_trace( FILE *hf )

hf

дескриптор файла трассировки.

Функция формирует файл с эталонной трассировки.

size_t trc_wrt_beginstruct( FILE *hf, STRUCT_BEGIN *pStruct)

hf

дескриптор файла;

pStruct

ссылка на запись начала конструкции программы.

Функция записывает в файл запись начала конструкции программы. Возвращает число записанных байтов.

size_t trc_wrt_enstruct( FILE *hf, STRUCT_END* pStruct)

hf

дескриптор файла;

pStruct

ссылка на запись завершения конструкции программы.

Функция записывает в файл запись завершения конструкции программы. Возвращает число записанных байтов.

size_t trc_wrt_iter( FILE *hf, ITERATION *Iter )

hf

дескриптор файла;

Iter

ссылка на запись начала витка.

Функция записывает в файл запись начала нового витка цикла или задачи. Возвращает число записанных байтов.

size_t trc_wrt_readvar( FILE *hf, VARIABLE *Var )

hf

дескриптор файла;

Var

ссылка на запись обращения к переменной.

Функция записывает в файл запись обращения к переменной на чтение. Возвращает число записанных байтов.

size_t trc_wrt_prewritevar( FILE *hf, VARIABLE *Var )

hf

дескриптор файла;

Var

ссылка на запись обращения к переменной.

Функция записывает в файл запись начала вычисления значения переменной. Возвращает число записанных байтов.

size_t trc_wrt_postwritevar( FILE *hf, VARIABLE *Var )

hf

дескриптор файла;

Var

ссылка на запись обращения к переменной.

Функция записывает в файл запись завершения вычисления нового значения и модификации переменной. Возвращает число записанных байтов.

size_t trc_wrt_reductvar( FILE *hf, VARIABLE *Var )

hf

дескриптор файла;

Var

ссылка на запись результата редукции.

Функция записывает в файл запись результата вычисления редукционной операции. Возвращает число записанных байтов.

size_t trc_wrt_variable( FILE *hf, VARIABLE *Var, int iType )

hf

дескриптор файла;

Var

ссылка на запись обращения к переменной;

iType

тип записи.

Общая функция записи в файл события обращения к переменной. Возвращает число записанных байтов.

size_t trc_wrt_skip( FILE *hf, SKIP *Skip )

hf

дескриптор файла;

Skip

ссылка на запись завершения блока собственных вычислений.

Функция записывает в файл запись завершения блока собственных вычислений в последовательной части программы. Возвращает число записанных байтов.

void trc_wrt_calctraceinfo(void)

Функция вычисляет суммарные размеры трассировки программы и всех исполняемых конструкций.

void trc_wrt_calcinfo(STRUCT_INFO* pInfo)

pInfo

ссылка на описание конструкции программы.

Функция вычисляет суммарные размеры трассировки для указанной конструкции.

6.5.3Модуль накопления трассировки

Функции модуля накопления трассировки формируют записи в таблице трассировочных записей. Если задан режим сквозной записи, то трассировочные записи в памяти не формируются, а сразу же записываются в файл с помощью функций модуля записи трассировки.

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

Список файлов учебной работы

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