[an error occurred while processing this directive]
Ответ: +
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено andy_P 12 октября 2005 г. 12:33
В ответ на: про компилятор(+) отправлено <font color=gray>for(;;)</font> 12 октября 2005 г. 12:13

1. Для указателей - restrict - гарантия того, что доступ к тому на что указывает указатель пойдет только через него. Это позволяет компилятору генерить код, который делает несколько доступов к !!!разным!!! адресам в один цикл. Это касается также и доступа со смещением - те пусть
restrict int *a;
restrict int *a;

Тогда
a[x] и b[y] - не должны обращаться к одной ячейке памяти. Если Вы так делаете, то сам себе злобный буратино.

При использовании массива - restrict - гарантия того, что Вы работаете с массивом только по его имени, а не делаете потом так
restrict int a[100];
int* b = &a[10]'

2. Может позволить компилятору не генерить две версии кода - с малым и большим количеством итераций. Читайте про software pipelining
Если счетчики неизвестны будет сгенерено две версии кода.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru