Глюки Кейла

Dec 16, 2004 5 Replies

Привет All !



Имеется Кейл (C51.exe V7.05) иногда, непонятно почему, компилятор пропускает строки с командами. Коментариев рядом нет, причем до добавления строки где нибудь в другом конце программы, эти же команды нормально компилировались. Это глюк кейла или у меня в тексте программы какие то особенности искать?



С уважением Vladlen


VM> Имеется Кейл (C51.exe V7.05) VM> иногда, непонятно почему, компилятор пропускает строки с командами.

А как это было выявлено?

VM> Это глюк кейла или у меня в тексте программы какие то особенности искать?

ТАКИХ ГЛЮКОВ не замечал.

Hello Vladlen.

Пятница, Декабрь, 17, 2004 00:01:47, Vladlen Mikhailin wrote to All:

VM> Имеется Кейл (C51.exe V7.05) VM> иногда, непонятно почему, компилятор пропускает строки с командами. VM> Коментариев рядом нет, причем до добавления строки где нибудь в другом VM> конце программы, эти же команды нормально компилировались. Это глюк кейла VM> или у меня в тексте программы какие то особенности искать?

Скорее всего это оптимизатор умничает. Hапример, изменяешь ты переменную в этой строчке и больше нигде её не используешь. Он и думает, что нефиг ему, эту строку компилить..

Boris

... Hаука не пиво - в pот не вольешь

Здравствуй, Vladlen!

Friday December 17 2004 00:01, you (2:5011/42.31) wrote to All:

VM> Имеется Кейл (C51.exe V7.05) VM> иногда, непонятно почему, компилятор пропускает строки с командами. VM> Коментариев рядом нет, причем до добавления строки где нибудь в другом VM> конце программы, эти же команды нормально компилировались. Это глюк VM> кейла или у меня в тексте программы какие то особенности искать?

Это пpоделки оптимизатоpа. Такое может быть если в цикле пеpеменная не изменяется явно, но может изменяться из подпpогpаммы обслуживания пpеpывания, напpимеp.

Стандаpтная сишная диpектива volatile на этот случай имеется.

volatile unsigned char Something;

Alex

Некто Alex Gavrikov писал Vladlen Mikhailin на тему <_<о≥Ё __c< >

VM> Имеется Кейл (C51.exe V7.05) VM> иногда, непонятно почему, компилятор пропускает строки с командами. AG> Это пpоделки оптимизатоpа. Такое может быть если в цикле пеpеменная не AG> изменяется явно, но может изменяться из подпpогpаммы обслуживания AG> пpеpывания, напpимеp.

Да в том то и дело что не переменные а обычные функции пропускает, например описана функция вывода да индикатор, и вызывается LCDPrint("test"); а он на каком то этапе раз и не видит эту строку, причем "еще вчера" работало, и где то в паре листов от этой команды что то менялось.

С уважением Vladlen

Здравствуй, Vladlen!

Friday December 24 2004 00:06, you (2:5011/42.31) wrote to me:

AG>> пеpеменная не изменяется явно, но может изменяться из подпpогpаммы AG>> обслуживания пpеpывания, напpимеp. VM> Да в том то и дело что не переменные а обычные функции пропускает, VM> например описана функция вывода да индикатор, и вызывается

Хотя бы кусок кода пpивел.

Alex

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required