-
- То есть, в этом месте переменная XXX может быть изменена вне данного кода а в других местах такое не возможно? - Vallav(12.05.2011 08:32)
- Именно так - Kit(12.05.2011 12:31)
- Возможно, что-то такое может сработать: SciFi(163 знак., 12.05.2011 15:05)
- Так чем вариант не устраивает - ввести временную переменную там, где нужна оптимизированная обработка значения XXX, Vallav(398 знак., 12.05.2011 14:56)
- Именно так - Kit(12.05.2011 12:31)
- Замечательно. И будет оно читать ячейку XXX до потери сознания, ибо в том месте, где XXX надо было записать вы обрамить забудите. Cepгeй Бopщ(298 знак., 12.05.2011 02:26)
- лучше временными переменными оперировать поактивнее koyodza(254 знак., 11.05.2011 23:00)
- И как у Вас xx может измениться вне данного кода во время исполнения while? - Vallav(12.05.2011 08:37)
- В обработчике прерывания - Kit(12.05.2011 12:33)
- А адрес xx обработчик прерывания как узнает? Vallav(113 знак., 12.05.2011 14:46)
- В обработчике прерывания - Kit(12.05.2011 12:33)
- в данном случае xx - локальная и смысла в volatile не вижу. Хотя вот volatile int *xx=&x, может и интересно, надо подумать. Kit(39 знак., 11.05.2011 23:26)
- смысл локальной volatile в том, что доступ к ней не будет оптимизироваться koyodza(180 знак., 11.05.2011 23:38)
- Это понятно, только зачем бы оно могло понадобиться, чтобы кусок кода не снесло? Так IAR на это уже не ведётся:) Kit(435 знак., 12.05.2011 00:39)
- "Можно пользоваться временными переменными, но неудобно" - ага, а прагмы в тех же местах лепить по две удобнее. - Cepгeй Бopщ(12.05.2011 02:29)
- while отличается от for тем, что кроме while() может быть еще и do {...} while(); - rezident(12.05.2011 00:43)
- Так и думал, что напомните:) Kit(70 знак., 12.05.2011 00:53)
- А зачем выдумывать лишние сущности? for всегда с пред-проверкой условия. Так в стандарте C99 указано. rezident(165 знак., 12.05.2011 01:14 - 01:17)
- Это гипотетически:) Kit(219 знак., 12.05.2011 02:41)
- А зачем выдумывать лишние сущности? for всегда с пред-проверкой условия. Так в стандарте C99 указано. rezident(165 знак., 12.05.2011 01:14 - 01:17)
- Так и думал, что напомните:) Kit(70 знак., 12.05.2011 00:53)
- Это понятно, только зачем бы оно могло понадобиться, чтобы кусок кода не снесло? Так IAR на это уже не ведётся:) Kit(435 знак., 12.05.2011 00:39)
- смысл локальной volatile в том, что доступ к ней не будет оптимизироваться koyodza(180 знак., 11.05.2011 23:38)
- И как у Вас xx может измениться вне данного кода во время исполнения while? - Vallav(12.05.2011 08:37)
- Вообще-то в том же IAR есть #pragma optimize=[goal][level][no_optimization...] - rezident(11.05.2011 22:47)
- Я в курсе, но полностью отключить оптимизацию куску кода для того, чтобы одна переменная вела себя правильно, это совсем не то, чего хотелось бы. - Kit(11.05.2011 23:00)
- Язык программирования отличается от человеческих языков только тем, что результатом компиляции с него является машинный код для процессора. Но, как и в случае общения между людьми, компилятору иногда тоже нужны дополнительные пояснения: что именно rezident(114 знак., 11.05.2011 23:07)
- Не вижу, где-бы это я противоречил столь очевидной истине. Я только говорю, что слов для объяснения не хватает:) - Kit(11.05.2011 23:28)
- возможно, Вы просто не все слова выучили ;=) koyodza(99 знак., 11.05.2011 23:39)
- Возможно:) - Kit(12.05.2011 01:02)
- возможно, Вы просто не все слова выучили ;=) koyodza(99 знак., 11.05.2011 23:39)
- Не вижу, где-бы это я противоречил столь очевидной истине. Я только говорю, что слов для объяснения не хватает:) - Kit(11.05.2011 23:28)
- Язык программирования отличается от человеческих языков только тем, что результатом компиляции с него является машинный код для процессора. Но, как и в случае общения между людьми, компилятору иногда тоже нужны дополнительные пояснения: что именно rezident(114 знак., 11.05.2011 23:07)
- Я в курсе, но полностью отключить оптимизацию куску кода для того, чтобы одна переменная вела себя правильно, это совсем не то, чего хотелось бы. - Kit(11.05.2011 23:00)
- То есть, в этом месте переменная XXX может быть изменена вне данного кода а в других местах такое не возможно? - Vallav(12.05.2011 08:32)