EugeNNe 0 3 июля, 2008 Опубликовано 3 июля, 2008 · Жалоба Можно ли как то указать компилятору что данный участок кода не нужно оптимизировать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 3 июля, 2008 Опубликовано 3 июля, 2008 · Жалоба Можно ли как то указать компилятору что данный участок кода не нужно оптимизировать? Нет. Анатолий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EugeNNe 0 3 июля, 2008 Опубликовано 3 июля, 2008 · Жалоба Жаль. Придётся на асме отдельный кусок лепить... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 3 июля, 2008 Опубликовано 3 июля, 2008 · Жалоба Жаль. Придётся на асме отдельный кусок лепить... А может вначале расказать в чем проблемма, может Вам подскажут более простое решение? Анатолий. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Qwertty 0 3 июля, 2008 Опубликовано 3 июля, 2008 · Жалоба Можно ли как то указать компилятору что данный участок кода не нужно оптимизировать? Выделить этот участок в отдельный файл. Ну и далее - O0... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EugeNNe 0 3 июля, 2008 Опубликовано 3 июля, 2008 · Жалоба А может вначале расказать в чем проблемма, может Вам подскажут более простое решение? Анатолий. При оптимизации -0s функция компилится не так как бы этого хотелось. Переменная которая изменяется в прерывании в данной функции не обновляется даже с использованием volatile. Если компилить при опции -О0 то всё нормально... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 3 июля, 2008 Опубликовано 3 июля, 2008 · Жалоба Переменная которая изменяется в прерывании в данной функции не обновляется даже с использованием volatile.Раз код настолько секретный, что даже кусочек его показать нельзя, рискну телепатировать, что переменная - указатель. И объявлена как-то вроде volatile char * Variable. Угадал? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EugeNNe 0 3 июля, 2008 Опубликовано 3 июля, 2008 · Жалоба Раз код настолько секретный, что даже кусочек его показать нельзя, рискну телепатировать, что переменная - указатель. И объявлена как-то вроде volatile char * Variable. Угадал? Да нет не секретный, уже всё переделал. Структура, доступ к которой происходит через указатель. В цикле проверки обращениее к ней происходит один раз, при входе в цикл ожидания. А потом проверяется одно и тоже значение. Естественно сообщение о том что произошло некое событие не фиксируется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 3 июля, 2008 Опубликовано 3 июля, 2008 · Жалоба Да нет не секретный, уже всё переделал.Ну так покажите. На словах тяжело воспринимается. У вас скорее всего как volatile был объявлен сам указатель, а не то, на что он указывет. Или наоборот. Отсюда и проблемы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
777777 0 5 июля, 2008 Опубликовано 5 июля, 2008 · Жалоба Да нет не секретный, уже всё переделал. Структура, доступ к которой происходит через указатель. В цикле проверки обращениее к ней происходит один раз, при входе в цикл ожидания. А потом проверяется одно и тоже значение. Естественно сообщение о том что произошло некое событие не фиксируется. Прочитав предложение #3 я предположил, что где-то не хватает volatile. Оказалось, и в самом деле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gopher 0 17 июля, 2008 Опубликовано 17 июля, 2008 · Жалоба Ну так покажите. На словах тяжело воспринимается. У вас скорее всего как volatile был объявлен сам указатель, а не то, на что он указывет. Или наоборот. Отсюда и проблемы. :bb-offtopic: может покажите как правильно объявлять указатель на volatile, а как указатель с квалификатором volatile. Недавно столкнулся с этим вопросом, ничего толкового не нашел (( :bb-offtopic: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aesok 0 17 июля, 2008 Опубликовано 17 июля, 2008 (изменено) · Жалоба :bb-offtopic: может покажите как правильно объявлять указатель на volatile, а как указатель с квалификатором volatile. Недавно столкнулся с этим вопросом, ничего толкового не нашел (( :bb-offtopic: Для volatile аналогично. const Pointers The keyword const for pointers can appear before the type, after the type, or in both places. The following are legal declarations: const int * ptr1; /* A pointer to a constant integer: the value pointed to cannot be changed */ int * const ptr2; /* A constant pointer to integer: the integer can be changed, but ptr2 cannot point to anything else */ const int * const ptr3; /* A constant pointer to a constant integer: neither the value pointed to nor the pointer itself can be changed */ Declaring an object to be const means that the this pointer is a pointer to a const object. A const this pointer can by used only with const member functions. Анатолий. Изменено 17 июля, 2008 пользователем aesok Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться