Когда программа относительно маленькая и простая, то проблем нет. Но вот сейчас столкнулся с такой проблемой:
пользуюсь студией 6.0 из-за удобства написания кода (хорошая подсветка синтаксиса и т.д.). Написал программу, которая состоит из 6 файлов, кучи макросов и условной компиляции. раза с тысячного вроде бы все скомпилировалось, все работает, но во время тестирования заметил, что помимо записи ЕЕПРОМ в отведенные 5 групп ячеек, пишет еще в 1 в середину памяти. Программе это не мешает не как, но меня это покоробило и начал разбирать, где мог накошачить. В результате, наткнулся на то, что при урезании программы в части записи в память (для выявления ошибки) компилятор вообще начал криво собирать урезанную версию. вместо записи значений затирает ячейки нулями, хотя в одну из них я 100% пишу значение (константа, которая в программе нигде не меняется и служит маркером валидности группы ячеек). Начал пробовать другие компиляторы. Установил новую, майскую студию 6.2. Так у той даже интерфес криво сделан. При переключении на студию часть ее окна остается прорисованной от другой только что отображаемой программы. Скомпилировала она мне еще хуже. Сами можете догадаться, как.. Тогда решил перенести код в хваленую 4-ю студию. Так после компиляции в ней у меня даже динамическая индикация перестала работать, хотя по коду она идет одна из первых. CV AVR тоже с ошибками компилирует, но уже с другими. Уже есть желание все на ассемблер перевести.. Я уже в отчаянии.. Подскажите, кто сталкивался с подобной проблемой, нормальный компилятор, который компилирует код так, как ты его написал, а не так, как ему хочется...
P.S. оптимизацию ставил на разные значения. В том числе, отключал вообще.


