[an error occurred while processing this directive]
|
не связана с повторным входом в программу и сохранением переменной и т. д. - локальную переменную и не должен компилятор сохранять (на ее месте позже будет какая-нибудь другая локальная переменная) и это была бы ошибка программиста.
Просто что-то в виде :
double global_var ;
int a, b ; // глобальные переменные
// а это кусочек кода внутри какой-то функции :
{
long l ; // локальная переменная
...
}
{
double d ; // еще одна локальная переменная
d = ... ; // что-то присвоили
a = b ; // что-то другое делаю, но не трогаю d
global_var = d ; // global_val присваивается ерунда, а не то
// что я раньше присвоил переменной d
}
Причем при отключенной оптимизации такого не происходит и я попытался "выкусить" эту часть кода из программы - выкушенный пример работает нормально. Может, при оптимизации оно что-то портит, а в выкушеном примере оно не делает такую оптимизацию ?
Это уже третья ошибка, на которую я нарвался в HI-TECH PICC. Хотя компилятор хороший.
E-mail: info@telesys.ru