anonymous@RULINUX.NET~# | Last login: 2024-10-02 10:24:03 |
Регистрация Вход | Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск |
Новости - OpenSource | [RSS] |
Привет пользователям UNIX-like систем!
Я пишу небольшой набор открытых и свободных coreutils (небольшой проект, не такой фичастый, как GNU coreutils) для POSIX-совместимых ОС. Проект называется escu (сокращение от Extremelly Small CoreUtils). Писать начал, когда пожелав выучиться системному программированию по исходникам GNU Coreutils, но не смог разобраться в spaghetti code и решил их переписать согласно спецификациям The OpenGroup.
Уже есть утилиты: basename, chroot, dirname, false, head, link, ln, logname, ls, mkfifo, mv, pwd, test, true, tty, uname, unlink, yes. Многие из них уже полностью POSIX-совместимы. Я использую системные вызовы для снижения накладных расходов, а также стараюсь писать максимально простой код для облегчения понимания новичками.
Проект нацелен на максимальную переносимость, поэтому при написании используются только возможности стандартной библиотеки языка C, а для сборки будут использоваться только POSIX-совместимые make, компилятор языка C и командная оболочка.
Релизы будут выпускаться тогда, когда они будут готовы, за исключением багфиксов.
Комментарии, предложения и патчи приветствуются
Dorif(*) (2013-01-13 00:39:47)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko) Ubuntu/12.10 Chromium/22.0.1229.94 Chrome/22.0.1229.94 Safari/537.4
Подтверждено: vilfred(*) (2013-01-13 00:58:16)
|
|
|
![]() |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Рад, что до тебя дошло, что надо readme к проекту написать :) Ты бы туда ещё информацию из этого своего поста вложил - было бы вообще классно. |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.До этого просто я больше был на написании самих прог сконцентрирован. Вот ридми на потом оставил. Решил написать перед анонсом. Dorif(*)(2013-01-13 03:54:20)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko) Ubuntu/12.10 Chromium/22.0.1229.94 Chrome/22.0.1229.94 Safari/537.4 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Я всё это понимаю, а на мозг тебе капаю только потому, что многие проекты, из которых что-то могло бы вырасти, как раз дохнут в зародыше потому, что автор не удосужился рассказать потенциальной заинтересованной аудитории что это за проект и зачем им это нужно. Вдохновение со временем проходит если нет заинтересованного сообщества, а если оно есть, то возможно детальное описание (спецификация) проекта важнее - код-то кто-нибудь да напишет. |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Ок, понял. Тогда примусь пока за комментирование кода, что ли?) Dorif(*)(2013-01-13 04:22:00)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko) Ubuntu/12.10 Chromium/22.0.1229.94 Chrome/22.0.1229.94 Safari/537.4 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Если ты пишешь не лапшеподобный код, то он сам себя комментирует. Просто добавь свою мотивацию в ридми (ты же очень хорошо написал!), подумай зачем твой проект мог бы пригодиться другим людям и тоже это добавь. |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Ты, наверное, смотрел мой код - это "лапша" или нет? На всякий случай всё-таки добавил комментов кой-куда. Dorif(*)(2013-01-13 05:08:32)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko) Ubuntu/12.10 Chromium/22.0.1229.94 Chrome/22.0.1229.94 Safari/537.4 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Я не смотрел твой код. И это по определению системное ПО, чnо бы там ни говорили всякие дурачки - в ВиКи есть даже статья, определяющая что есть системное ПО, а что нет: http://ru.wikipedia.org/wiki/Системное_программное_обеспечение. |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Да, ещё одна вещь - я просто уверен, что ты сейчас смотришь на отзывы о твоём проекте и реакция публики тебя не восхищает. Просто забей на них. Те самые 95% из отписавшихся о твоём проекте просто не представляют о чём пишут, либо сами никогда не делали ничего подобного и завидуют. Пытайся выделить те 5% комментариев, которые действительно конструктивны чтобы скорректировать направление работы. Ты в любом случае ничего не теряешь, ведь даже если твой проект не приобретёт популярности, то ты сам приобретёшь опыт, который невозможно приобрести кроме как попробовав что-то сделать. Просто забей на "большинство" и делай то, что считаешь нужным. Только так, и никак иначе, создаются новые вещи. |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> Ты, наверное, смотрел мой код - это "лапша" или нет?
Ax-Xa-Xa(*)(2013-01-13 11:42:20)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.>Ты, наверное, смотрел мой код - это "лапша" или нет?
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> но не смог разобраться в spaghetti code и решил их переписать
|
![]() |
anonymous(*)(2013-01-14 15:03:36)
Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Чем тебе глобальные переменные не нравятся? Тем более, что если объявлять переменные внутри main(в нужных местах), то не компилится с флагами -pedantic -ansi Dorif(*)(2013-01-14 17:38:57)
Отредактировано Dorif по причине "не указана" Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Ubuntu Chromium/23.0.1271.97 Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Всё, твой проект мне окончательно разонравился! |
![]() |
![]() |
Ax-Xa-Xa(*)(2013-01-14 18:27:54)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> м-да што?)))
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.>> м-да што?)))
Ax-Xa-Xa(*)(2013-01-14 19:39:59)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> Эта функция потоконебезопасна
Ax-Xa-Xa(*)(2013-01-14 19:53:10)
Отредактировано Ax-Xa-Xa по причине "не указана" Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.>Интересно? Этот код просто не нужен))) Есть замечательная стандартная универсальная функция sprintf)))
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Тем не менее, в стандарте языка отсутствует как раз itoa, а не sprintf. |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Ну вообще, анонимус таки во многом прав. Выдаёт: Оно понятно автору, но вот незнакомому с реализацией человеку эта штука доставит проблем. Впрочем, если эта функция написана "только для себя", то такое, наверное, можно простить. SystemV(*)(2013-01-14 21:23:42)
Отредактировано SystemV по причине движок жуёт слеши Emacs-w3m/1.4.508 w3m/0.5.3 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.>Тем не менее, в стандарте языка отсутствует как раз itoa, а не sprintf.
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> Дориф ведь пишет очень минималистичные и быстрые coreutils, а sprintf - монстр.
Ax-Xa-Xa(*)(2013-01-14 21:28:57)
Отредактировано Ax-Xa-Xa по причине "не указана" Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> Ну вообще, анонимус таки во многом прав.
Ax-Xa-Xa(*)(2013-01-14 21:30:18)
Отредактировано Ax-Xa-Xa по причине "не указана" Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Нет, одно есть, а другого - нет: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.>Ну это же замечательно, ему не придется писать itoa, ltoa, dtoa и (чего-то еше)toa.)))
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> А вы ему sprintf советуете, в котором кода больше, чем в утилитах, его использующих:)
Ax-Xa-Xa(*)(2013-01-14 21:35:42)
Отредактировано Ax-Xa-Xa по причине "не указана" Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> На всякий случай, sprintf и его вариации входит в "стандартную библиотеку языка C", поэтому какая разница монстр это или не монстр)))
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.>Бле, Систем sprintf уже будет у него в системе, зачем платить дважды?)))
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.>Сейчас придёт наш форумный люпус и расскажет тебе на чём именно он вертел тебя и твой sprintf() в стандартном avr-gcc. Он там есть, но это не означает что пользоваться им во встраиваемых вещах является хорошей идеей.
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> Сейчас придёт наш форумный люпус и расскажет тебе на чём именно он вертел тебя
Ax-Xa-Xa(*)(2013-01-14 21:42:55)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> А что там со sprintf в avr-gcc сделали?
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> Я что-то не заметил, что Дориф планирует юзать свою либу на встраиваемых вещах, кстати.)))
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.>А если во встраиваемой системе уже есть свой itoa - конфликтовать оно не будет?
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> sprintf и прочие монстры просто не поместятся в такой системе.
Ax-Xa-Xa(*)(2013-01-14 21:47:02)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> Надо дёргать препроцессор для определения такой ситуации.
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> Да, заголовки тредов надо блинкающим флешом выводить поверх страницы, чтобы комментаторы хотя бы их читали.
Ax-Xa-Xa(*)(2013-01-14 21:52:35)
Отредактировано Ax-Xa-Xa по причине "не указана" Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> А набор кореутилт поместится?)))
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.Встраиваемые системы - очень широкое понятие. Вон, raspberry pi тянет полноценный разжиревший ляпих, а тоже для многих "встраиваемая". |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> Хотя, ХЗ, может вы и юзаете на этих ваших avrах из консоли chroot, mkfifo и прочая)))
|
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.>Да не вопрос воще!
It takes about 2 hours to boot to bash prompt ("init=/bin/bash" kernel command line). Then 4 more hours to boot up the entire Ubuntu ("exec init" and then login). Starting X takes a lot longer. |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> Встраиваемые системы - очень широкое понятие. Вон, raspberry pi тянет полноценный разжиревший ляпих, а тоже для многих "встраиваемая".
Ax-Xa-Xa(*)(2013-01-14 22:01:44)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.>> Хотя, ХЗ, может вы и юзаете на этих ваших avrах из консоли chroot, mkfifo и прочая)))
Ax-Xa-Xa(*)(2013-01-14 22:05:43)
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11 |
![]() |
Скрыть
Re:escu - легковесные coreutils для обучения и встраиваемых систем.> Лол.
|
|
|
|
Этот тред читают 12 пользователей: |
Анонимных: 12 Зарегистрированных: 0 |
Re:escu - легковесные coreutils для обучения и встраиваемых систем.
Хорошее начинание, молоток!
Mozilla/6.0 (compatible; AppleWebKit/latest; like Gecko/20120405; };-> infernal_edition:goto-hell) Firefox/666