AuthorTopic



link post  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 приложение мне придется обойтись без настроек? Или писать их самому?

Спасибо: 0 
Quote Reply
Replys - 8 [new only]


administrator


link post  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 есть внешняя утилита, с помощью которой можно менять настройки для любого приложения.




Спасибо: 0 
ProfileQuote Reply



link post  Posted: 04.07.10 23:19. Post subject: Спасибо за ответы. Е..


Спасибо за ответы. Еще вопрос но уже касательно исходников.
Ни iconv, ни libnatspec ни librcc не работают с wchar_t*. Я думаю что utf8 строки имеет смысл хранить именно в этом формате ведь он для того и предназначен? К примеру в unzip используется isprintf(), а эта функция обрабатывает только ascii символы и для быквы другого алфавита вернет false. Еще нет возможности правильно получить длину строки в символах. Поэтому мне кажется что строки utf8 корректнее хранить именно в wchar_t*, заместо char*

Спасибо: 0 
Quote Reply
administrator


link post  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 и сохранять



Спасибо: 0 
ProfileQuote Reply



link post  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

Спасибо: 0 
Quote Reply
administrator


link post  Posted: 06.07.10 18:45. Post subject: Посыпаю голову пепло..


Посыпаю голову пеплом, был не прав насчет исключительной C++. Но все равно оно не портабельно ;)

Спасибо: 0 
ProfileQuote Reply



link post  Posted: 07.07.10 09:52. Post subject: а librcc портабельна..


а librcc портабельна или она только для posix-совместимых ?

Спасибо: 0 
Quote Reply
administrator


link post  Posted: 07.07.10 18:04. Post subject: Если честно я не про..


Если честно я не пробовал ничего кроме BSD и Linuxа, но в самой librcc только несколько модулей, которые могут создать проблемы в чужеродных средах. Скорее всего придется немного пофиксить тут и там, отключить модуль перевода, но в целом серьезных проблем быть не должно (до тех пор пока для платформы существуют iconv и libxml2).

Спасибо: 0 
ProfileQuote Reply



link post  Posted: 14.07.10 13:40. Post subject: спасибо за ответы. ..


спасибо за ответы.

Спасибо: 0 
Quote Reply
Reply:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Username, Password:      register    
Тему читают:
- user online
- user offline
All times are GMT  4 Hours. Hits today: 0
You can: smiles yes, images yes, types yes, poll no
avatars yes, links on, premoderation off, edit new post no