Author | Topic |
|
Posted: 02.07.10 10:32. Post subject: По поводу сборки
Как я могу получить документацию? позволяет ли это делать make или я должен сам запускать doxygen? когда я делаю ./configure в конце выдает таке External IConv Library: no LibCharset Library: no для чего они нужны? GTK User Interface: no GTK2 User Interface: yes я так понимаю это нужно для librccui? Причем работает только с GTK, GTK2, но не работает с Qt. То есть если я захочу добавить поддержку кодировок в Qt приложение мне придется обойтись без настроек? Или писать их самому?
|
|
|
No new replys
[view all]
|
|
|
| administrator
|
|
|
Posted: 03.07.10 02:48. Post subject: taurus пишет: Как я..
taurus пишет: quote: | Как я могу получить документацию? |
| Надо запускать Doxygen, конфиг лежит в docs/api. Сгенерированные доки доступны на rusxmms.sf.net. taurus пишет: quote: | External IConv Library: no LibCharset Library: no |
| Нафиг не нужны. :) taurus пишет: quote: | я так понимаю это нужно для librccui? Причем работает только с GTK, GTK2, но не работает с Qt. То есть если я захочу добавить поддержку кодировок в Qt приложение мне придется обойтись без настроек? Или писать их самому? |
| Да это для UI. librccui абстрактный класс, а gtk и gtk2 его имплементации. Имплементации под QT я не делал, но по идеии должно быть не сложно переписать. С другой стороны: a) В стандартном случае все должно работать по дефолту. b) В examples есть внешняя утилита, с помощью которой можно менять настройки для любого приложения.
|
|
|
|
Posted: 04.07.10 23:19. Post subject: Спасибо за ответы. Е..
Спасибо за ответы. Еще вопрос но уже касательно исходников. Ни iconv, ни libnatspec ни librcc не работают с wchar_t*. Я думаю что utf8 строки имеет смысл хранить именно в этом формате ведь он для того и предназначен? К примеру в unzip используется isprintf(), а эта функция обрабатывает только ascii символы и для быквы другого алфавита вернет false. Еще нет возможности правильно получить длину строки в символах. Поэтому мне кажется что строки utf8 корректнее хранить именно в wchar_t*, заместо char*
|
|
|
|
| administrator
|
|
|
Posted: 05.07.10 00:19. Post subject: wchar_t это удобный ..
wchar_t это удобный тип данных C++ для работы со символами, но совершенно не пригодный для их хранения. Главное, что он не портабелен: нету даже общепринятого стандарта о размере wchar_t. В gcc это 4 байта, в виндовой студии только 2 [http://prog.eskosoft.com/2007/01/13/19]. Далее хранение латинских букв (да и русских тоже) в 4 байтах сразу раздувает размер документа. Сам тип определен только в плюсах и чистые C-шные программы пролетают. На мой взгляд, wchar_t надо использовать надо следующим образом: 1) Читать данные в UTF-8 (16 whatever) 2) Если есть сомнения в кодировке, обрабатывать с помощью librcc 3) Конвертировать в wchar_t 4) Наслаждаться функцией определения длинны строки и т.п. :) 5) Конвертить обратно в UTF и сохранять
|
|
|
|
Posted: 06.07.10 07:55. Post subject: Написал чистую сишну..
Написал чистую сишную программу quote: | int main() { setlocale(LC_ALL, ""); wchar_t pwc[] = L"Привет мир!"; wprintf(L"%d\n", wcslen(pwc)); wprintf(L"%ls\n", pwc); return 0; } |
| собрал и запустил quote: | [taurus@lix utf8proba]$ make gcc -g -c -o main.o main.c gcc -o utf8proba main.o chmod a+x utf8proba [taurus@lix utf8proba]$ ./utf8proba 11 Привет мир! |
| Посмотрел исходники unzip который слишком сишных (заголовки в стиле K&R) там тоже присутствует wchar_t
|
|
|
|
| administrator
|
|
|
Posted: 06.07.10 18:45. Post subject: Посыпаю голову пепло..
Посыпаю голову пеплом, был не прав насчет исключительной C++. Но все равно оно не портабельно ;)
|
|
|
|
Posted: 07.07.10 09:52. Post subject: а librcc портабельна..
а librcc портабельна или она только для posix-совместимых ?
|
|
|
|
| administrator
|
|
|
Posted: 07.07.10 18:04. Post subject: Если честно я не про..
Если честно я не пробовал ничего кроме BSD и Linuxа, но в самой librcc только несколько модулей, которые могут создать проблемы в чужеродных средах. Скорее всего придется немного пофиксить тут и там, отключить модуль перевода, но в целом серьезных проблем быть не должно (до тех пор пока для платформы существуют iconv и libxml2).
|
|
|
|
Posted: 14.07.10 13:40. Post subject: спасибо за ответы. ..
спасибо за ответы.
|
|
|
|