ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
439740 Топик полностью
Bill (08.09.2013 22:04, просмотров: 78) ответил tesla на "Бывают случае, когда программист недоволен тем, что ему нагенерировал компилятор и пытается исправить данный исходный текст на более, как ему кажется, оптимальный. "
Так пример выше был. -> http://caxapa.ru/439301.html
Для выражение leds /= 2; компилятор сгенерирует вызов подпрограммы деления. Программист думает: "Какой тупой компилятор!" и тут же меняет исходное выражение на более "оптимальное" leds >>= 1; Компилятор послушно выполняет предписанное ему действие и генерирует инструкцию сдвига. Теперь деления нет, код более эффективный как по размеру, так и по скорости. Только вот программист как-то "забыл" учесть, что для отрицательных чисел сдвиг вправо не всегда корректно заменяет деление на целую степень 2-х. И если вдруг программа начинает работать не так, как хотелось, то искать причину этого ему программисту придется долго. А причина довольно простая: программисту было лень писать unsigned int leds; и он написал гораздо короче: int leds; В результате появились различные нюансы... Или нет? PS: А насчет оптимальных мозгов это вы абсолютно точно выразились.