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

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

Отправлено -=ВН=- 18 ноября 2004 г. 19:07
В ответ на: Ответ: Из лучших побуждений... отправлено PGN 18 ноября 2004 г. 18:10

С производством несвязанная. Я обычно при апдейте софта проверяю его, прогоняя какой-то старый и работающий проект. Причина такой проверки не в CCS. Но вот оказалось, что и CCS тоже не мешает проверять.
Я, когда работал с 1.20 CCS для 6000, был удивлен, что он находил ошибку в такой, примерно, конструкции:
void *func()
{
...
}
void main()
{
short *var;
var=(short *)(func());
...
}
func всегда возвращала указатель, выравненный по 4-байтной границе.
Но было удобно в зависимости от... интерпретировать его как указатель на short, int (он там 32 разряда) и т.д.
Говорил, что не может преобразовать указатель на void к указателю на short. То же самое - к преобразованию на другие указатели.
Я уж с досады хотел на каждый тип свою ф-ю написать, этот тип и возвращающую.
И случайно обнаружил, что на просто var=func() он не ругается. И все работает.
Ну и ладно, сделал так, как он хочет.
А когда поставил CCS 2.0, то решил для проверки скомпилировать как раз этот проект. Все с точностью до наоборот. Да еще с прагмами что-то было.
Так что ну ее, эту модернизацию во время работы:-) Вдруг там очередной шедевр, а из-за него переписывать.

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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 

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

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

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


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

E-mail: info@telesys.ru