Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср авг 23, 2017 4:54 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 13 сообщений ] 
Автор Сообщение
 Заголовок сообщения: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 3:29 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср апр 15, 2015 11:13 pm
Сообщения: 156
Библиотека позволяет выполнять такие операции как:

  • Получение расширения файла ф-ция
    Код:
    string.extension(string)
    Из строки в виде char *text = "/sys/test.txt" возвращает смещение text+=10; т.е. => txt

  • Копирование символов ф-ция
    Код:
    string.cpy(char *txt1,char *txt2)
    Копирует массив символов в буфер txt1 из txt2.

  • "Склеивание" текста ф-ция
    Код:
    string.cat(char *txt1,char *txt2)
    склеивает txt1 с txt2.

  • В нижний регистр ф-ция
    Код:
    string.lower(char *txt)
    Преобразует из верхнего в нижний регистр.

  • В верхний регистр ф-ция
    Код:
    string.upper(char *txt)
    Преобразует из нижнего в верхний регистр.

  • Получение длины строки ф-ция
    Код:
    string.len(char *txt)
    Возвращает длину строки, завершающий нулевой символ.

Скачать последнюю версию


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 3:55 pm 
Не в сети

Зарегистрирован: Вс авг 09, 2015 3:41 pm
Сообщения: 79
Вместо не относящегося к работе со строками никоим образом string.extension лучше стандартный strrchr ну и strchr в пару. Да и другие функции можно было бы стандартно назвать, а то писать такие длинные наименования 100 раз запаришься.


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 4:15 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 385
Ну имхо string.extension место в другой либе (fs, да). Ну названия необычные, да) Я бы назвал их copy, concat, downcase, upcase, length на манер Ruby::String (у руби вообще топовые имена функций, только из-за этого все хочу на Rails перейте) http://ruby-doc.org/core-2.2.0/String.html .

А вообще спасибо, пойду переделывать все свои приложения.


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 4:19 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср апр 15, 2015 11:13 pm
Сообщения: 156
e-andrew писал(а):
Ну имхо string.extension место в другой либе (fs, да). Ну названия необычные, да) Я бы назвал их copy, concat, downcase, upcase, length на манер Ruby::String (у руби вообще топовые имена функций, только из-за этого все хочу на Rails перейте) http://ruby-doc.org/core-2.2.0/String.html .

А вообще спасибо, пойду переделывать все свои приложения.

тогда названия же большие будут, Ray же лень писать xD


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 4:32 pm 
Не в сети

Зарегистрирован: Вс авг 09, 2015 3:41 pm
Сообщения: 79
Да лень каждый раз набирать string. перед каждой функцией и поверь, что будет лень не только мне. Почему бы не использовать стандартные сишные названия для строковых функций? Или ты хочешь что-то вроде неймспейсов или пакетов жабы? Так там даже специальный механизм есть чтоб не мучиться using/import. А в dll-ке ты такое можешь?


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 4:41 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср апр 15, 2015 11:13 pm
Сообщения: 156
Ray писал(а):
Да лень каждый раз набирать string. перед каждой функцией и поверь, что будет лень не только мне. Почему бы не использовать стандартные сишные названия для строковых функций? Или ты хочешь что-то вроде неймспейсов или пакетов жабы? Так там даже специальный механизм есть чтоб не мучиться using/import. А в dll-ке ты такое можешь?

так library.obj загружает в массив указатели. Их один раз получаешь уже на свои короткие (названия) ф-ций. Например в Си:
Код:
void (*stdcall strcpy)(char *,char *);
void lib_init(void)
{
  strcpy = library.get("string.cpy");
}
void main()
{
  library.load("/sys/lib/string.obj");
  lib_init();
  char *txt1 = malloc(100);
  char *txt2 = "test";
  strcpy(txt1,txt2);
}


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 8:44 pm 
Не в сети

Зарегистрирован: Вс авг 09, 2015 3:41 pm
Сообщения: 79
Это если вручную указывать имена функций, то да. А если использовать самописную функцию для автоматической загрузки библиотек, то не так.


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 8:55 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср апр 15, 2015 11:13 pm
Сообщения: 156
Ray писал(а):
Это если вручную указывать имена функций, то да. А если использовать самописную функцию для автоматической загрузки библиотек, то не так.

она есть разве?


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 9:06 pm 
Не в сети

Зарегистрирован: Вс авг 09, 2015 3:41 pm
Сообщения: 79
А кто-то мешал её написать?


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 9:21 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 385
Ray писал(а):
А кто-то мешал её написать?

Ну во многих либах (во всех, с которыми я работал libio, libini, libpng, box_lib) используется такие "неймспейсы". Имена сишных функций ужасны, одна из причин, почему я не пользуюсь сишкой. Сам я сейчас использую свой inc, где функция конкатенации строк называется string.concatenate и вроде не лень пока. Возможно, отголоски от высокоуровневого кодинга (js, go).


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 9:37 pm 
Не в сети

Зарегистрирован: Вс авг 09, 2015 3:41 pm
Сообщения: 79
Имена сишных функций короткие и понятные.И это не неймспейсы. А то что библиоиека без открытого кода сразу включается в образ в качестве вызывает определенные сомнения. Я бы не советовал таким пользоваться, т.к. закрытое ПО обычно удаляют из оф сборок


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 10:00 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Ср апр 15, 2015 11:13 pm
Сообщения: 156
Ray писал(а):
Имена сишных функций короткие и понятные.И это не неймспейсы. А то что библиоиека без открытого кода сразу включается в образ в качестве вызывает определенные сомнения. Я бы не советовал таким пользоваться, т.к. закрытое ПО обычно удаляют из оф сборок

удаляют из-за чего? Тем более я же сказал. Что если надо, то пусть обращаются. Значит незакрытый.


Вернуться к началу
 Заголовок сообщения: Re: string.obj
СообщениеДобавлено: Чт ноя 26, 2015 10:31 pm 
Не в сети

Зарегистрирован: Вс авг 09, 2015 3:41 pm
Сообщения: 79
Из-за того что система открытая и большинство программ под неё открытые. zSea офигенный просмотрщик изображений даже не включили в офф. сборку из-за этого. Почитай форум если что.
Порядок добавления в сборку не такой. Код должен лежать на свн и собираться автосборкой при коммитах. А то года через 2-3 ты пропадешь например, к этому времени будет написана куча программ, которые зависят от твоих библиотек и скажем даже важных программ. Допустим после этого переведут систему полность на PE библиотеки, а загрузку obj уберут из ядра, как это случилось с драйверами. Т.к. исходников твоих библиотек на свн нет, оперативно поправить их не получиться. "-Ты не просил у него исходники? А то у меня только старые без того-то и того-то" И получится что твои библиотеки уже не грузятся их надо выкидывать, а вместе с ними и все те важные программы, пока их не перепишут без использования этих библиотек.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 13 сообщений ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB