реклама на сайте
подробности

 
 
> Косяк у Кейла, Препроцессор не следит за скобками
ViKo
сообщение Aug 28 2015, 11:21
Сообщение #201


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Делаю функцию программной задержки. (Длинная не нужна, естественно, но вопрос уже академический, захотел дойти до предела.) Каждый цикл выполняется за 4 такта, отсюда и деление на 4000. Нюансы не интересны, не в этом дело.

Код
#define SYSCLK        48000000ULL
#define _NS    1
#define _US    1000
#define _MS    1000000
#define _SS    1000000000

#define DELAY(VALUE, UNIT);    \
  /* DelayFourCycles(VALUE * UNIT * (SYSCLK / 1000000) / 4000); */ \
  DelayFourCycles((SYSCLK / 1000000) * VALUE * UNIT / 4000);

  DELAY(50, _SS);


Так вот, когда сделал, как в закомментированной строке, Кейл ругается на то, что число не влазит в int. И загружает в функцию абы что. Если же сделать, как в строке без комментария, то все вычисляется правильно. Выходит, Кейл видит что последовательность операций равнозначна, что со скобками, что без, и лихо их отбрасывает. Возникает переполнение. Хотя не понятно, отчего возникает, 64 битов должно хватать (на компьютерном калькуляторе хватает). Как будто у Кейла не 64-битовое вычисление, а меньшее.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ViKo   Косяк у Кейла   Aug 28 2015, 11:21
- - Golikov A.   ЦитатаДвоечников всегда было больше... и что тепер...   Oct 13 2015, 06:46
|- - HHIMERA   Цитата(Golikov A. @ Oct 13 2015, 09:46) Н...   Oct 13 2015, 06:56
|- - zltigo   QUOTE (Golikov A. @ Oct 13 2015, 09:46) п...   Oct 13 2015, 08:10
|- - scifi   Цитата(zltigo @ Oct 13 2015, 11:10) data ...   Oct 13 2015, 08:26
- - Golikov A.   не надо крайностей, я всего лишь пытаюсь сказать ч...   Oct 13 2015, 07:05
|- - scifi   Цитата(Golikov A. @ Oct 13 2015, 10:05) п...   Oct 13 2015, 07:21
|- - HHIMERA   Цитата(Golikov A. @ Oct 13 2015, 10:05) к...   Oct 13 2015, 07:30
|- - zltigo   QUOTE (scifi @ Oct 13 2015, 11:26) Минуто...   Oct 13 2015, 09:03
||- - scifi   Цитата(zltigo @ Oct 13 2015, 12:03) Я не ...   Oct 13 2015, 09:11
|- - Непомнящий Евгений   Цитата(Golikov A. @ Oct 13 2015, 10:05) п...   Oct 15 2015, 05:59
- - ViKo   Я выбираю первый вариант, что выдал Golikov, одноз...   Oct 13 2015, 08:12
- - Golikov A.   ЦитатаПосыл правильный, но с комментариями накосяч...   Oct 13 2015, 08:32
- - Golikov A.   Кто-то обкакался и пытается сохранить лицо... ок ...   Oct 13 2015, 09:05
|- - zltigo   QUOTE (Golikov A. @ Oct 13 2015, 12:05) п...   Oct 13 2015, 09:19
- - ViKo   Интересно, кто-нибудь занимается разработкой ново...   Oct 15 2015, 06:46
|- - Непомнящий Евгений   Цитата(ViKo @ Oct 15 2015, 09:46) Интерес...   Oct 15 2015, 06:52
|- - zltigo   QUOTE (ViKo @ Oct 15 2015, 09:46) Те же п...   Oct 15 2015, 07:05
- - GetSmart   Моё мнение о Си. Переменная-указатель на функцию ...   Oct 15 2015, 23:19
- - ViKo   ЦитатаПо поводу пустых скобок в for() ошибся, т.к....   Oct 16 2015, 09:30
- - Golikov A.   Все зависит от области где вы работаете и от вашей...   Oct 17 2015, 07:10
|- - GetSmart   Цитата(Golikov A. @ Oct 17 2015, 11:10) Е...   Oct 17 2015, 11:06
- - Golikov A.   конкретно про void как я понял в каких то дремучих...   Oct 17 2015, 13:37
- - GetSmart   Буду считать, что компромисс с микробами. -------...   Oct 17 2015, 19:46
|- - Непомнящий Евгений   Цитата(GetSmart @ Oct 17 2015, 22:46) Про...   Oct 19 2015, 05:14
|- - zltigo   QUOTE (GetSmart @ Oct 17 2015, 22:46) В и...   Oct 19 2015, 06:59
||- - den_po   Цитата(zltigo @ Oct 19 2015, 09:59) На де...   Oct 19 2015, 07:02
||- - zltigo   QUOTE (den_po @ Oct 19 2015, 10:02) А мож...   Oct 19 2015, 07:47
|- - scifi   Цитата(GetSmart @ Oct 17 2015, 22:46) В и...   Oct 19 2015, 07:50
- - Golikov A.   вот типа того Код... if (cond1) goto e...   Oct 20 2015, 13:50
|- - zltigo   QUOTE (Golikov A. @ Oct 20 2015, 16:50) в...   Oct 20 2015, 16:34
|- - Tarbal   Цитата(zltigo @ Oct 20 2015, 20:34) Код.....   Oct 20 2015, 22:31
- - Golikov A.   Надо бывает много для чего, ну и чем for(;;) {brea...   Oct 20 2015, 18:14
|- - scifi   Цитата(Golikov A. @ Oct 20 2015, 21:14) Н...   Oct 20 2015, 18:26
|- - zltigo   QUOTE (Golikov A. @ Oct 20 2015, 21:14) Н...   Oct 20 2015, 18:55
- - Golikov A.   1) бывают разные ситуации и условия, и иногда надо...   Oct 20 2015, 19:11
|- - zltigo   QUOTE (Golikov A. @ Oct 20 2015, 22:11) и...   Oct 20 2015, 21:48
- - Golikov A.   Я могу прямо сейчас создать корпоротивное правило ...   Oct 20 2015, 22:24
|- - zltigo   QUOTE (Golikov A. @ Oct 21 2015, 01:24) Я...   Oct 20 2015, 22:39
- - IgorKossak   Удалил крайние сообщения с обсуждениями личных кач...   Oct 21 2015, 18:06
- - GetSmart   Чужие исходники это кладезь хитровывертов. файл in...   Oct 24 2015, 08:35
|- - zltigo   QUOTE (GetSmart @ Oct 24 2015, 11:35) ......   Oct 24 2015, 08:58
|- - Непомнящий Евгений   Цитата(GetSmart @ Oct 24 2015, 11:35) На ...   Oct 24 2015, 12:06
|- - GetSmart   Цитата(Непомнящий Евгений @ Oct 24 2015, 16...   Nov 16 2015, 03:09
|- - Непомнящий Евгений   Цитата(GetSmart @ Nov 16 2015, 06:09) На ...   Nov 16 2015, 15:33
|- - GetSmart   Цитата(Непомнящий Евгений @ Nov 16 2015, 19...   Nov 16 2015, 23:44
|- - Непомнящий Евгений   Цитата(GetSmart @ Nov 17 2015, 02:44) Раз...   Nov 17 2015, 05:44
|- - GetSmart   Цитата(Непомнящий Евгений @ Nov 17 2015, 09...   Dec 22 2015, 14:11
- - Arlleex   Добрый вечер. Есть вопрос по Keil. Неоднократно вс...   Nov 16 2015, 20:05
3 страниц V  < 1 2 3


Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01417 секунд с 7
ELECTRONIX ©2004-2016