string.obj
-
Технологии меняют мир, а я - меняю технологии.
Вместо не относящегося к работе со строками никоим образом string.extension лучше стандартный strrchr ну и strchr в пару. Да и другие функции можно было бы стандартно назвать, а то писать такие длинные наименования 100 раз запаришься.
Ну имхо string.extension место в другой либе (fs, да). Ну названия необычные, да) Я бы назвал их copy, concat, downcase, upcase, length на манер Ruby::String (у руби вообще топовые имена функций, только из-за этого все хочу на Rails перейте) http://ruby-doc.org/core-2.2.0/String.html .
А вообще спасибо, пойду переделывать все свои приложения.
А вообще спасибо, пойду переделывать все свои приложения.
тогда названия же большие будут, Ray же лень писать xDe-andrew wrote:Ну имхо string.extension место в другой либе (fs, да). Ну названия необычные, да) Я бы назвал их copy, concat, downcase, upcase, length на манер Ruby::String (у руби вообще топовые имена функций, только из-за этого все хочу на Rails перейте) http://ruby-doc.org/core-2.2.0/String.html .
А вообще спасибо, пойду переделывать все свои приложения.
Технологии меняют мир, а я - меняю технологии.
Да лень каждый раз набирать string. перед каждой функцией и поверь, что будет лень не только мне. Почему бы не использовать стандартные сишные названия для строковых функций? Или ты хочешь что-то вроде неймспейсов или пакетов жабы? Так там даже специальный механизм есть чтоб не мучиться using/import. А в dll-ке ты такое можешь?
так library.obj загружает в массив указатели. Их один раз получаешь уже на свои короткие (названия) ф-ций. Например в Си:Ray wrote:Да лень каждый раз набирать string. перед каждой функцией и поверь, что будет лень не только мне. Почему бы не использовать стандартные сишные названия для строковых функций? Или ты хочешь что-то вроде неймспейсов или пакетов жабы? Так там даже специальный механизм есть чтоб не мучиться using/import. А в dll-ке ты такое можешь?
Code: Select all
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);
}
Технологии меняют мир, а я - меняю технологии.
Это если вручную указывать имена функций, то да. А если использовать самописную функцию для автоматической загрузки библиотек, то не так.
она есть разве?Ray wrote:Это если вручную указывать имена функций, то да. А если использовать самописную функцию для автоматической загрузки библиотек, то не так.
Технологии меняют мир, а я - меняю технологии.
А кто-то мешал её написать?
Ну во многих либах (во всех, с которыми я работал libio, libini, libpng, box_lib) используется такие "неймспейсы". Имена сишных функций ужасны, одна из причин, почему я не пользуюсь сишкой. Сам я сейчас использую свой inc, где функция конкатенации строк называется string.concatenate и вроде не лень пока. Возможно, отголоски от высокоуровневого кодинга (js, go).Ray wrote:А кто-то мешал её написать?
Имена сишных функций короткие и понятные.И это не неймспейсы. А то что библиоиека без открытого кода сразу включается в образ в качестве вызывает определенные сомнения. Я бы не советовал таким пользоваться, т.к. закрытое ПО обычно удаляют из оф сборок
удаляют из-за чего? Тем более я же сказал. Что если надо, то пусть обращаются. Значит незакрытый.Ray wrote:Имена сишных функций короткие и понятные.И это не неймспейсы. А то что библиоиека без открытого кода сразу включается в образ в качестве вызывает определенные сомнения. Я бы не советовал таким пользоваться, т.к. закрытое ПО обычно удаляют из оф сборок
Технологии меняют мир, а я - меняю технологии.
Из-за того что система открытая и большинство программ под неё открытые. zSea офигенный просмотрщик изображений даже не включили в офф. сборку из-за этого. Почитай форум если что.
Порядок добавления в сборку не такой. Код должен лежать на свн и собираться автосборкой при коммитах. А то года через 2-3 ты пропадешь например, к этому времени будет написана куча программ, которые зависят от твоих библиотек и скажем даже важных программ. Допустим после этого переведут систему полность на PE библиотеки, а загрузку obj уберут из ядра, как это случилось с драйверами. Т.к. исходников твоих библиотек на свн нет, оперативно поправить их не получиться. "-Ты не просил у него исходники? А то у меня только старые без того-то и того-то" И получится что твои библиотеки уже не грузятся их надо выкидывать, а вместе с ними и все те важные программы, пока их не перепишут без использования этих библиотек.
Порядок добавления в сборку не такой. Код должен лежать на свн и собираться автосборкой при коммитах. А то года через 2-3 ты пропадешь например, к этому времени будет написана куча программ, которые зависят от твоих библиотек и скажем даже важных программ. Допустим после этого переведут систему полность на PE библиотеки, а загрузку obj уберут из ядра, как это случилось с драйверами. Т.к. исходников твоих библиотек на свн нет, оперативно поправить их не получиться. "-Ты не просил у него исходники? А то у меня только старые без того-то и того-то" И получится что твои библиотеки уже не грузятся их надо выкидывать, а вместе с ними и все те важные программы, пока их не перепишут без использования этих библиотек.
Who is online
Users browsing this forum: No registered users and 6 guests