|
UNICODE в WinAVR |
|
|
|
 |
Ответов
|
Jul 31 2008, 11:04
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(777777 @ Jul 31 2008, 12:51)  Иногда?  ну-ну. Мне как раз и надо идентификатор USB-шный. Только я хочу назвать его по-русски. Для того юникод и придуман. И если этот крутой gnu-тый компилятр, которым так восхищаются виндовсоненавистники ограничивает свое знание юникода латинскими буквами, то... мне жалко этих несчастных фанатиков. Прежде чем возмущатся неплохо бы подумать что значит поддержка юникода и поместиться ли она во флеш AVR. А оскорблять людей (в том числе и теоретически существующих ненавистников) найдите другое место.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Jul 31 2008, 12:55
|

Профессионал
    
Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357

|
Цитата(amw @ Jul 31 2008, 15:04)  Прежде чем возмущатся неплохо бы подумать что значит поддержка юникода и поместиться ли она во флеш AVR. Поддержка юникода - это возможность компилятора генерить строки в юникодной кодировке, ни одного байта во флеше AVR для этого не требуется. И, увидев, что компилятор умеет транслиовать строку L"name" я справедливо решил, что он сможет оттранслировать и L"имя" - а иначе зачем тогда вообще поддержка префикса 'L'?! Оказалось - нет. Надеюсь, вы в состоянии представит мое разочарование. Это примерно то же, как увидеть на дороге кошелек с торчащими из него баксами, наклониться за ним, но тут мальчик, сидящий за кустом дергает за ниточку и вместе со своими друзьями начинает ржать. Или может все-такие есть какие-то ключи? Ведь кто-то из здесь присутствующих наверняка делал устройства, работающие через USB, неужени вы набивали имя шестнадцатеричными числами?
Сообщение отредактировал 777777 - Jul 31 2008, 12:59
|
|
|
|
|
Aug 1 2008, 19:45
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(777777 @ Jul 31 2008, 15:55)  Ведь кто-то из здесь присутствующих наверняка делал устройства, работающие через USB, неужени вы набивали имя шестнадцатеричными числами? Код #define UNICODE(x) (x), 0x00
const struct USB_STRING_DESCRIPTOR usb_mfg_desc = { .bLength = 2 + 17 * 2, .bDescriptorType = USB_DESC_STRING, .bString = { UNICODE('D'), UNICODE('A'), UNICODE('C'), UNICODE(' '), UNICODE('I'), UNICODE('n'), UNICODE('t'), UNICODE('e'), UNICODE('r'), UNICODE('n'), UNICODE('a'), UNICODE('t'), UNICODE('i'), UNICODE('o'), UNICODE('n'), UNICODE('a'), UNICODE('l') } }; Думаю модифицировать макрос для нужного языка неслжоно. PS: Желание использовать какой-либо иной язык, кроме английского, в дескрипторах было напрочь отбито, когда устройство через 2 года производства вставили в ПК с Milenium (помните такую версию винды?) и ее разнесло в "дребезги-пополам" ((С) Жванецкий). Пришлось отзывать 100000 устройств и перешивать дескрипторы. Возможно в XP или Vista дело улучшилось, но предпочитаю не рисковать. Цитата(AHTOXA @ Aug 1 2008, 21:27)  2. Открыл main.c в блокноте, и сохранил его в формате UTF-8 А разве UTF-8 катит для дескриптора? Разве там не UTF-16? Цитата Мне категорически не надо, чтобы мои исходники были в UTF-8. Мои исходники всегда в UTF-8. И чем это мешае компилятору? Он соответствует ASCII относительно собственно кода.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
|
Aug 1 2008, 21:40
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(amw @ Aug 2 2008, 01:45)  А разве UTF-8 катит для дескриптора? Разве там не UTF-16? Компилятору нужна была исходная строка в UTF-8. А он её преобразовал в юникод. (я в bin-файле посмотрел) Цитата(amw @ Aug 2 2008, 01:45)  Мои исходники всегда в UTF-8. И чем это мешае компилятору? Он соответствует ASCII относительно собственно кода. А русские строчки? Ну, строковые константы? А таблицы перекодировки для вывода на ЖКИ? А шрифты? Да ну их, эти геморрои с преобразованием, лучше уж я буду точно знать, что у меня и где
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Aug 4 2008, 18:24
|
Знающий
   
Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847

|
Цитата(AHTOXA @ Aug 2 2008, 00:40)  Компилятору нужна была исходная строка в UTF-8. А он её преобразовал в юникод. (я в bin-файле посмотрел) А русские строчки? Ну, строковые константы? А таблицы перекодировки для вывода на ЖКИ? А шрифты? Да ну их, эти геморрои с преобразованием, лучше уж я буду точно знать, что у меня и где  А, понял. Я пишу коментарии на английсом, а строчки всегда в файлах перевода. Ну в общем в отдельных файлах находятся все сообщения для пользователя. В общем используем подход по аналогии QT Linguist. И переводчикам легче. Цитата(777777 @ Aug 4 2008, 12:42)  Я знаю людей, которые до сих пор пишут комментари по-русски латинскими буквами на том основании, что когда они работали в ДОСе (!) то там было много кодировок и их комментарий мог где-то не прочитаться. Вы чем-то на него похожи: миллениум всеми успешно забыт, а вы все боитесь русских букв. Хотя юникод придуман как раз для того, чтобы он был единственной кодировкой. Можно и меня причислить к ним, хотя и по другой причине. Иногда исходники пытаются скомпилить на виндовс машине, и тогда возникают проблемы с не-латиницей. Цитата Хорошо известно, что юникод поддерживают только NT-based системы; вместо того, чтобы отзывать 1(0...) устройств, следовало бы в инстукции перечислить ОС с которыми ваше устройство работает. Такого подхода я непонимаю. Мои устройства конечно не рботают в ДОС, Вин 3.11 им подобными, но Linux, FreeBSD, Solaris, MacOS 9+, Win98 - NT4 2000 - Vista - обязательны. Цитата Тем, что его не понимает редактор AVR-студии. Впрочем, если в нем нет русских букв, то несколько странно утверждать, что он в utf-8  Иногда все же бывают строки на не-английском языке прямо в коде. Про avr-gcc ничего не могу сказать, но по крайней мере i686, x86_64, arm, и под некоторые специфические архитектуры проблем это не вызывает.
--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть. © Lewis Carroll. Alice's adventures in wonderland.
|
|
|
|
Сообщений в этой теме
777777 UNICODE в WinAVR Jul 31 2008, 04:42   mdmitry Цитата(amw @ Jul 31 2008, 15:04) Прежде ч... Jul 31 2008, 11:20   zltigo Цитата(amw @ Jul 31 2008, 13:04) Прежде ч... Jul 31 2008, 12:19 ukpyr вообще-то WinAVR - это сборка GCC под Win, AVR-Lib... Jul 31 2008, 13:57 777777 Цитата(ukpyr @ Jul 31 2008, 17:57) вообще... Jul 31 2008, 15:06  aesok Цитата(777777 @ Jul 31 2008, 19:06) Ну да... Jul 31 2008, 15:39   777777 Цитата(aesok @ Jul 31 2008, 19:39) А вот ... Aug 1 2008, 06:44    aesok Цитата(777777 @ Aug 1 2008, 10:44) Остало... Aug 1 2008, 07:04     777777 Цитата(aesok @ Aug 1 2008, 11:04) http://... Aug 1 2008, 07:43      aesok Цитата(777777 @ Aug 1 2008, 11:43) Здесь ... Aug 1 2008, 13:49       AHTOXA У меня на -finput-charset ругается более определён... Aug 1 2008, 14:14        777777 Цитата(AHTOXA @ Aug 1 2008, 18:14) 1. Нап... Aug 4 2008, 09:42 ukpyr эти параметры описаны тут :
http://gcc.gnu.org/onl... Jul 31 2008, 16:36 ukpyr Ваш редактор не знает UTF-8 ? o_O
возмите хотя-бы ... Aug 1 2008, 17:30 AHTOXA Цитата(ukpyr @ Aug 1 2008, 23:30) Ваш ред... Aug 1 2008, 18:27 ukpyr ЦитатаХорошо известно, что юникод поддерживают тол... Aug 4 2008, 19:04 777777 Цитата(ukpyr @ Aug 4 2008, 23:04) это с ... Aug 5 2008, 05:30  Andrew O. Shadoura Цитата(777777 @ Aug 5 2008, 08:30) Запуст... Aug 9 2008, 22:56
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|