неужели ANSI стандарт это не оговаривает ? А то я кажется на side effect попал :-(
(«Телесистемы»: Конференция 'Микроконтроллеры и их применение')
Отправлено
DASM
10 декабря 2004 г. 15:00
В ответ на:
Зависит от компилера и процессора (+)
отправлено SM 10 декабря 2004 г. 14:58
Составить ответ
|||
Конференция
|||
Архив
Ответы
вроде не оговаривает (+)
—
SM
(10.12.2004 15:06, 162 байт)
А по моему оговаривает слева на право, правда не уверен, а вот то что его до конца вычислять нужно, тем более при включёной оптимизации это врядли.
—
miv
(10.12.2004 15:19,
пустое
)
А если скобки поставить ? :)
—
SM
(10.12.2004 15:21,
пустое
)
Ты вот лучше ответь сработает или нет ? ;-) -->
—
miv
(10.12.2004 15:27, 142 байт)
Чёрт сожрало. -->
—
miv
(10.12.2004 15:29, 142 байт)
чего в чем переставляет ?
—
DASM
(10.12.2004 15:37,
пустое
)
Байты в словах местами меняет.
—
miv
(10.12.2004 15:45,
пустое
)
Так они там есть ! ;-)
—
miv
(10.12.2004 15:23,
пустое
)
Я какому-то компилеру дал while(1){...} с включенной оптимизацией, так он действительно единицу с нулём сравнивал :)
—
kolja
(10.12.2004 15:14,
пустое
)
Это может быть сколько угодно.
—
Bill
(10.12.2004 15:21,
пустое
)
Понятно что у каждого оптимизатора свои правила, но всё равно прикольно. Из процов с которыми я имел дело, самые толковые компиляторы, на мой взгляд, это у ARM и BlackFin. Для последнего можно даже аппаратные счётчики использовать и циклические буфера.
—
kolja
(10.12.2004 15:30,
пустое
)
Я, например, анализировал и такие выражения: while (0) {...} :))) Или if (1) {...}
—
Bill
(10.12.2004 16:13, 115 байт)
Самая сила - это С для C6000. Так заворачивает, что и с пол-литрой потом не въедешь, как это работает!
—
SM
(10.12.2004 15:36,
пустое
)
Да и для С5402 тоже нехило ! :))
—
miv
(10.12.2004 15:48, 111 байт)
Бог миловал, но наслышался про него :)
—
kolja
(10.12.2004 15:44,
пустое
)
неее... интельские компиляторы под пеньки - вот это сила. Он мне как-то цикл на 1000 итераций разбил на 10 итераций в цикле, в каждом из них 100 инлайновых вычислений. в 6 раз быстрее микрософтовского летало
—
DASM
(10.12.2004 15:34,
пустое
)
Дык обычно делают for(;;) ;-)
—
miv
(10.12.2004 15:17,
пустое
)
Так после этого и делаю :)
—
kolja
(10.12.2004 15:21,
пустое
)
что за ээффект???
—
ы
(10.12.2004 15:04,
пустое
)
типа (+)
—
Ken@t
(10.12.2004 15:38, 145 байт)
во первых плохой тон так писАть а во вторых ну проверит...и хрен с ним...если в проце 0->A не вызовет исключительную ситуацию что маловеротяно то протянет
—
ы
(10.12.2004 15:56,
пустое
)
у меня еще хуже, одно из условий - функция, вызов которой меняет состояние буфера. И если условие A не выполнено, то В НЕЛЬЗЯ даже и проверять
—
DASM
(10.12.2004 15:55,
пустое
)
нефиг извращаться...сравнивай последовательно
—
ы
(10.12.2004 15:58,
пустое
)
не могу. Просто я... извращенец :")
—
DASM
(10.12.2004 16:05,
пустое
)
ну я в курсе))
—
ы
(10.12.2004 16:07,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru