Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с IAR ARM 5.40 и буквой "я"
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Thunder08
Здравствуйте. Перешёл с компилятора IAR ARM 5.30 на версию 5.40 и столкнулся с тем, что при компиляции возникает ошибка связанная с буквой "я".
То есть если объявлена строка символов, в которой присутствует эта буква (например printf("для"), то компилятор ввыдаёт следующую ошибку:


Internal Error: [AsmLine - OgAsm]: Error[4]: Unexpected end of file encountered
DC8 "для"
Error while running C/C++ Compiler

Существует ли решение этой проблемы без замены версии компилятора или единственным решением будет откат на 4.30?

p.s. извините, если не там создал тему. Возможно, что она была бы более уместна в ветке "программирование"
Xenia
Цитата(Thunder08 @ Sep 14 2009, 13:03) *
Здравствуйте. Перешёл с компилятора IAR ARM 5.30 на версию 5.40 и столкнулся с тем, что при компиляции возникает ошибка связанная с буквой "я".


Замените букву 'я' соответствующим ей hex-кодом - всего-то делов. Хотя, конечно, неприятно...
zltigo
Цитата(Thunder08 @ Sep 14 2009, 11:03) *
Существует ли решение этой проблемы без замены версии компилятора или единственным решением будет откат на 4.30?

Сменить кодовую страницу на 866, там 0xFF не используется. Тем более сменить, если вывод идет на консоль.
Вести при выводе перекодировку в 'я' другого символа, например 'Я'.
А вообще нужна эта кирилица?
Thunder08
Цитата(zltigo @ Sep 14 2009, 11:30) *
Сменить кодовую страницу на 866, там 0xFF не используется. Тем более сменить, если вывод идет на консоль.
Вести при выводе перекодировку в 'я' другого символа, например 'Я'.
А вообще нужна эта кирилица?

Вариант с кодировками не оказал должного эффекта.
Но вариант с заменой символа мне подошёл, так как русскоязычные строки используются для ввода символов с клавиатуры. Я просто заменил букву "я" на неиспользуемый символ.

Спасибо всем за помощь
zltigo
Цитата(Thunder08 @ Sep 14 2009, 12:17) *
Вариант с кодировками не оказал должного эффекта.

Невероятно, ибо в 866 кодировке маленькая буква 'я' совершенно безобидна, а 0xFF используемый некоторыми редакторами в качестве разделителя вообще не используется.
Thunder08
Цитата(zltigo @ Sep 14 2009, 13:31) *
Невероятно, ибо в 866 кодировке маленькая буква 'я' совершенно безобидна, а 0xFF используемый некоторыми редакторами в качестве разделителя вообще не используется.
Я не знаю почему так в ИАРе, возможно, что компилятор работает только в одной кодировке, и на время компиляции меняет кодировку файла, но это лишь моё предположение.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.