[an error occurred while processing this directive]
А пойнтер-то влезет в short? С виду вроде все нормально.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
SM
20 сентября 2005 г. 10:37
В ответ на:
туплю в С. инициализация структуры?
отправлено yes 20 сентября 2005 г. 10:28
Составить ответ
|||
Конференция
|||
Архив
Ответы
Ответ: unsigned char тоже влезает signed char, но ни один нормальный компилятор это не даст.
—
ДМ
(20.09.2005 11:10
80.72.237.52
,
пустое
)
Наоборот - я еще не видел ни одного компилятора, отказавшего в явном преобразовании типов, как в этом случае.
—
SM
(20.09.2005 11:16
213.141.159.26
,
пустое
)
Ответ: На пример IAR C AVR v2.28. Напротив, Code Vision позволяет всё, что угодно
—
ДМ
(20.09.2005 12:40
80.72.237.52
, 110 байт)
Значит этот компилятор не соответствует стандарту ISO/IEC. Или Вы что-то напутали. Типы он согласно стандарту обязан преобразовывать, причем молча.
—
SM
(20.09.2005 12:42
213.141.159.26
,
пустое
)
Ответ: На счёт примера с char я наверно приврал, если занчению int попытаться присвоить значение *int, то будет ругань.
—
ДМ
(20.09.2005 16:10
80.72.237.52
, 257 байт)
Ответ: На счёт примера с char я наверно приврал, если занчению int попытаться присвоить значение *int, то будет ругань.
—
ДМ
(20.09.2005 16:07
80.72.237.52
,
пустое
)
В общем MSVC и CCS съели без малейших вопросов.
—
SM
(20.09.2005 10:43
213.141.159.26
,
пустое
)
спасибо. а то я уже думал все :) - полная деградация. а с short - так и надо
—
yes
(20.09.2005 11:17
194.133.69.2
,
пустое
)
BTW: A и B это глобальные массивы, объявленные раньше. то есть точные значения будут доступны только после линковки, и поэтому не может проинитить
—
yes
(20.09.2005 11:32
194.133.69.2
,
пустое
)
Так линкер пусть и инитит. По крайней мере я примерно так буфера под DMA распределил, все именно линкер и проинитил.
—
SM
(20.09.2005 11:34
213.141.159.26
,
пустое
)
для BF: наверно он не умеет (либо я не знаю) с линкерными символами выполнять (long->short) , >>16 и т.п. операции
—
yes
(20.09.2005 12:07
194.133.69.2
, 134 байт)
Попробуйте так - (short)(((unsigned long)A) & 0xFFFF). Обязан линкер уметь всю С-шную арифметику делать. Иначе на кой он такой нужен?
—
SM
(20.09.2005 12:19
213.141.159.26
,
пустое
)
на это ругается, что не константа. я с бубном попрыгал уже :), пусть инитится в коде
—
yes
(20.09.2005 14:34
194.133.69.2
,
пустое
)
В общем
—
SM
(20.09.2005 10:43
213.141.159.26
,
пустое
)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
NoIX ключ
:
Запомнить
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru