- Vote on answer
- posted
18 years ago
WINAVR
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Alex Mogilnikov on Wed, 19 Oct 2005 05:46:49
+0400:DT> Да это я не про C/C++. :) Это я про реальность. Или, точнее, DT> математику.
Причем тут математика? Тип константы определяет чему ее можно присвоить (без преобразования ее типа :)).
DT> Число-литерал или константное выражение по природе своей не DT> принадлежит к какому-либо типу. Арифметический тип DT> определяется диапазоном значений и точностью. Константа же DT> имеет только одно, фиксированное значение.
Ну и что?
DT>>> Разница в данном случае - в эффективности.
AM>> Подмена темы.
DT> Да нет, я сразу об этом говорил. Type promotion - фича, очень DT> сомнительная в компиляторе C/C++ именно для микроконтроллера, DT> потому что на голом месте появляется лишний код.
Ничего не появляется, это твои фантазии.
AM>> Hужна эффективность - реализуй на ассемблере.
DT> Hу вот, а кто-то утверждает, что C "близок к реализации", DT> "супер-макро-ассемблер" и так далее. ;)
Так и есть.
DT> Суть-то в хоть какой-то переносимости. Вот адские "типы, DT> определяемые пользователем" дают максимальную переносимость. DT> Кстати, даже в C не рекомендуется пользоваться базовыми DT> типами.
Я не знаю кому и зачем нужна "максимальная" переносимость, особенно если этот перенесенный код в память не лезет.
AM>> Hаличие или отсутствие этого правила не влияет на AM>> эффективность реализации конкретного выражения. Оно лишь AM>> определяет область определения операции.
DT> Ещё как влияет.
Никак не влияет.
dima
- Vote on answer
- posted
18 years ago
Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 19 Oct 2005 07:05:57
+0400:DT>>> Угу. Интересно, зачем в PSW у процессоров и МК есть бит DT>>> Overflow? :) И почему он применяется именно в знаковой DT>>> арифметике?
DO>> Ага, ты еще найди процессор, у которого было бы знаковое и DO>> беззнаковое сложение... Сложение - всегда сложение и делается DO>> оно абсолютно одинаково,
DT> Правильно. Только посмотри всё-таки на описание флага DT> Overflow. :)
Зачем? То, что он может использоваться для работы (не сложения) со знаковыми числами я вообще-то в курсе, только что из этого следует?
dima
- Vote on answer
- posted
18 years ago
Hello, Andrey Solomatov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 19 Oct 2005 05:09:38
+0000 (UTC):DO>> Ага, ты еще найди процессор, у которого было бы знаковое и DO>> беззнаковое сложение...
AS> i80x86 и производные.
Приведи коды команд знакового и беззнакового сложения байтов (слов).
DO>> Сложение - всегда сложение и делается оно абсолютно DO>> одинаково, как и пересылка.
AS> Вот только переполнение там по разному определяется...
Одинаковые команды одинаково ставят флаги. При сравнении например да, интерпретируются флаги по-разному.
DO>> Сравнение, умножение - да, зависящие от знака операции. DO>> Сложение, вычитание, логические - нет.
AS> [кусь]
dima
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago
Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Alex Mogilnikov on Wed, 19 Oct 2005 15:37:32
+0400:DT> Однако в библиотеках, как хранилищах полезного кода, смысл DT> очень даже есть. :) DT> Вот в BP/VP/FP etc с компилятором поставляется RTL - Runtime DT> Library, куча полезных юнитов (это что-то вроде DT> файла-библиотеки). :)
RTL - это не куча полезного кода, а реализация операций с неподдерживаемыми процессором типами. И есть такая библиотека у любого компилятора.
dima
- Vote on answer
- posted
18 years ago
Hello, Ivan Melnikov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Wed, 19 Oct 2005 20:28:28
+0400:DO>>>>>> Программа, написанная несколько лет назад - как новая. IM>>>>> Согласен, но беда эта уже твоя, ты плохо IM>>>>> документируешь программу. DO>>>> Гм. Откуда такой вывод? IM>>> Так программа для тебя новая как бы. DO>> Естественно, я уже забыл что 5-6 лет назад было, а то и DO>> больше.
IM> Тогда действительно, все забудешь, и что было и не было. IM> За такое время я не брался за старые программы. Как IM> правило устройство уже не нужно за такое время.
Бывает не просто нужно, а нужно что-то изменить в нем.
DO>> Соответственно и компиляторы меняю. А проблемы с макросами в DO>> макроассемблере вообще на PC у меня были много лет назад. DO>> Сейчас я все или почти все на С пишу.
IM> Я нет, я стараюсь, если позволит время и IM> обстоятельства писать на ассеблере, хотя этого времени IM> появляется меньше.
А смысл какой?
IM>>>>>>> Кроме этого, еще один плюс, меньше ошибок в программе. DO>>>>>> Пока что-то менять не начнешь. IM>>> У меня такого не было. Просто все меняю и все.
DO>> А потом побочные эффекты вылазят. Такое и на С бывает, но DO>> гораздо реже.
IM> Hа Си да, у меня было, а вот на ассемблере нет, видно IM> писал для x51.
И что что для i51?
IM>>> Ты в большем количестве пользовался различными IM>>> оболочками для программирования ? DO>> Да нет, оболочками я как раз не особо пользуюсь. Предпочитаю DO>> интегрировать компилятор в привычную и удобную для меня DO>> среду.
IM> Значит ты пользуешься редактором или подключаешь к IM> какой нибудь интегрированной среде ?
Не важно чем я пользуюсь, есть привычная для меня среда, к которой подключаются компиляторы.
IM> Или как ты работаешь. Я кейлом пользуюсь для IM> программирования контроллеров. А ты ?
А я для программирования пользуюсь программатором.
dima
- Vote on answer
- posted
18 years ago
- Vote on answer
- posted
18 years ago