The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

09.03.2018 09:46  Для Linux и Redox представлена реализация Libc на языке Rust

Разработчики операционной системы Redox, развиваемой с использованием языка Rust и применяющий концепцию микроядра, представили проект по созданию собственной стандартной Си-библиотеки Relibc. Код проекта разрабатывается на языке Rust и распространяется под лицензией MIT. Relibc позиционируется как переносимая реализация стандартной библиотеки Си, соответствующая стандарту POSIX и способная работать не только в Redox, но и в дистрибутивах на базе ядра Linux.

Работа над проектом началась неделю назад и функциональность библиотеки пока сильно ограничена, но к разработке уже подключилось 5 участников и проект активно развивается. Ранее в Redox в качестве стандартной библиотеки применялся форк библиотеки newlib от проекта Сygwin, но он не устраивал разработчиков с точки зрения безопасности и кросс-платформенности.

Использование языка Rust позволяет избавиться от свойственных языку Си усложнений при организации работы с памятью и задействовать при разработке предоставляемые языком Rust средства по обеспечению безопасного программирования. Автоматическое управление памятью в Rust избавляет разработчика от манипулирования указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера.

  1. Главная ссылка к новости (https://www.redox-os.org/news/...)
  2. OpenNews: Релиз языка программирования Rust 1.20
  3. OpenNews: Третий выпуск операционной системы Redox OS, написанной на языке Rust
  4. OpenNews: Эксперимент по разработке частей ядра Linux на языке Rust
  5. OpenNews: Выпуск стандартной Си-библиотеки Musl 1.1.17 с устранением уязвимости
  6. OpenNews: Выпуск системной библиотеки Glibc 2.27
Лицензия: CC-BY
Тип: Программы
Ключевые слова: redox, rust, relibc, libc, posix
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 09:51, 09/03/2018 [ответить] [смотреть все]     [к модератору]
  • +2 +/
    Давайте теперь посмотрим на тесты скорости по сравнению с обычной библиотекой ... весь текст скрыт [показать]
     
     
  • 2.3, A.Stahl, 10:19, 09/03/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +18 +/
    Зачем? Оно не ради скорости делалось. А ради... блин, я х.з. ради чего, но точно не ради какого-либо практического применения.
     
     
  • 3.5, Аноним, 10:31, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    Для того чтобы показать, что уменьшение скорости выполнения на 10 даже если код... весь текст скрыт [показать]
     
     
  • 4.8, Bvz, 10:39, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    А скорость всегда будет падать А если отключить всякие проверки на выход за гра... весь текст скрыт [показать]
     
     
  • 5.10, Аноним, 10:44, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Если отключить проверки, тогда зачем нужен раст ... весь текст скрыт [показать]
     
     
  • 6.14, Аноним, 11:02, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +3 +/
    В Rust все проверки при компиляции проходят.
     
     
  • 7.15, A.Stahl, 11:08, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +5 +/
    Тогда насколько они эффективны Что-то мне подсказывает, что 99 выходов за пред... весь текст скрыт [показать]
     
     
  • 8.41, Аноним, 16:28, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Спасибо за Мудрость и приоткрытие Изначальных Законов Вселенной Хотелось бы зна... весь текст скрыт [показать]
     
  • 8.68, 0xd34df00d, 05:12, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Доказать, что индекс всегда внутри правильного диапазона, например Про rust не ... весь текст скрыт [показать]
     
     
  • 9.71, A.Stahl, 10:02, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –4 +/
    Это практически всегда невозможно А в тех тривиальных случаях когда такая возмо... весь текст скрыт [показать]
     
  • 7.16, Аноним, 11:20, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    ну это как вставить cppcheck какой-нибудь в препроцессор ... весь текст скрыт [показать]
     
     
  • 8.20, Аноним, 12:07, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Замечательно Теперь продолжите логическую цепочку Почему cppcheck какой-нибу... весь текст скрыт [показать]
     
     
  • 9.21, Аноним, 12:12, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Как это не эффективен Просто язык не лоялен к тем кто делает все наполовину Сд... весь текст скрыт [показать]
     
     
  • 10.31, Аноним, 14:48, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    На раз поймается и valgrind и asan ... весь текст скрыт [показать]
     
  • 9.27, Crazy Alex, 13:31, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Он точнее, более живые анализаторы очень даже эффективен для отлова отхода от ... весь текст скрыт [показать]
     
     
  • 10.75, Nexmean, 14:54, 10/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Лайфтаймы, владение и заимствование?
     
     
  • 11.87, Vkni, 02:26, 11/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    unique_ptr или auto_ptr RAII Но там есть множество других идей, пришедших из ... весь текст скрыт [показать]
     
     
  • 12.88, 0xd34df00d, 02:40, 11/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Только если вы при этом ещё запретите get и ссылки на unique_ptr, что вряд ли ре... весь текст скрыт [показать]
     
     
  • 13.89, Vkni, 06:16, 11/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    О Спасибо, чё-то не задумывался об этом И тут, значит, уши ML-ей конкретно - ... весь текст скрыт [показать]
     
  • 7.66, Alex, 04:13, 10/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Выход за границы массива бросает исключение в расте. Проверка в рантайм.
     
     
  • 8.74, Ordu, 12:51, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Бросает, да Да ладно Почему же в рантайме, если её можно выполнить статически ... весь текст скрыт [показать]
     
  • 7.79, pavlinux, 19:21, 10/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > В Rust все проверки при компиляции проходят.

    Он читает мысли?

     
  • 7.94, bOOster, 17:44, 11/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Ну точно, так же как и в JAVA.
     
  • 3.113, dq0s4y71, 14:52, 13/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Сколько ни изобретай свой собственный велосипед с треугольными колёсами, всё рав... весь текст скрыт [показать]
     
  • 2.4, Sunderland93, 10:29, 09/03/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +8 +/
    Давайте. Но только когда проект дорастёт до первого стабильного релиза.
     
     
  • 3.98, Аноним, 12:16, 12/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Это когда версия будет 248.0.3?
     
     
  • 4.100, Iaaa, 13:05, 12/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Через еще одну неделю.
     
  • 2.9, Аноним, 10:39, 09/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Скорее всего всё ок, т к в rust управление памятью не создаёт оверхеда все про... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.23, Аноним, 12:38, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Даже для динамических массивов Ну, ребята, ну что же это такое Почему не ра... весь текст скрыт [показать]
     
     
  • 4.32, VladSh, 14:54, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    То есть проверок для динамических массивов в рантайме лучше не делать?
     
     
  • 5.33, Аноним, 15:07, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Мы же про статический анализатор динамических массивов разве нет? :)
     
  • 4.35, pda, 15:08, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Иногда и для них Rust предоставляет достаточно информации llvm, чтобы тот мог у... весь текст скрыт [показать]
     
     
  • 5.53, angra, 21:12, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А если я в цикле присвою счетчику другое значение А если обращусь к a i 1 на п... весь текст скрыт [показать]
     
     
  • 6.60, Аноним, 22:31, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Дада, это всё очень просто отлавливается компилятором.
     
     
  • 7.63, angra, 00:53, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Разве что в самых простейших случаях, типа тела цикла из одного выражения При н... весь текст скрыт [показать]
     
  • 6.65, Ordu, 01:58, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    for mut i in 0 10 println , i i 1 резуль... весь текст скрыт [показать]
     
     
  • 7.67, angra, 04:43, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ох уж эти титеретики fn main let a i32 5 1,2,3,4,5 for i in 0 ... весь текст скрыт [показать]
     
     
  • 8.72, Ordu, 12:09, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    И Вы хотите сказать, что проверка осталась и выполнялась на каждой итерации цик... весь текст скрыт [показать]
     
     
  • 9.73, Ordu, 12:23, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    type _ZN3tmp4main17hd307395e913df02cE, function _ZN3tmp4main17hd307395e913df02... весь текст скрыт [показать]
     
     
  • 10.80, Vkni, 21:38, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    С одной стороны это круто, с другой - компилятор явно недоделан, а с третьей, по... весь текст скрыт [показать]
     
     
  • 11.85, Ordu, 23:00, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Сегодня это уже не круто, это нормальное поведение для любого уважающего себя ко... весь текст скрыт [показать]
     
     
  • 12.86, Vkni, 02:24, 11/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ох После большого количества inline ов и всяких мудрых мыслей может получиться,... весь текст скрыт [показать]
     
     
  • 13.91, Ordu, 10:25, 11/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Такие вещи будет сложно отловить анализируя чисто машинный код, всё равно придёт... весь текст скрыт [показать]
     
  • 10.82, Аноним, 22:21, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    О да Вот что они взяли из плюсов - так это вот это А в сях таки в этих случаях... весь текст скрыт [показать]
     
     
  • 11.101, Iaaa, 13:13, 12/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Что, так сложно накидать скрипт, который будет парсить такой вывод и деманглить ... весь текст скрыт [показать]
     
     
  • 12.107, Аноним84701, 15:29, 12/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    c filt вполне себе справляется Код из 73 CODE cat tmp tst type ... весь текст скрыт [показать]
     
     
  • 13.108, Iaaa, 16:37, 12/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Не пользуюсь, но все равно - большое спасибо. Когда-нибудь точно пригодится.
     
  • 9.77, angra, 18:10, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Я хочу сказать ровно одно, сказанное титеретиком не выдержало проверки практикой... весь текст скрыт [показать]
     
     
  • 10.78, Ordu, 18:32, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    А, ну да, я там ошибся -- я всё ж не компилятор Но давай вернёмся тогда чуть на... весь текст скрыт [показать]
     
  • 3.48, Аноним, 18:16, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    И как статически проверить конкатенацию 2 строк вводимых юзером, например ... весь текст скрыт [показать]
     
  • 1.6, фывфыв, 10:32, 09/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +8 +/
    > Код проекта написан на языке Rust

    Бла-бла-бла, математика использует openlibm, а оно на C.
    Алокаторы памяти и прочие низкоуровневые вещи регулярно пестрят unsafe блоками, что автоматически нивелирует все "плюшки" Rust'а.

     
     
  • 2.7, Аноним, 10:36, 09/03/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    Есть примеры?
     
     
  • 3.11, Аноним, 10:51, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    Модуль реализации строк посмотри.
     
  • 3.12, Аноним, 10:51, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    https github com redox-os relibc search utf8 E2 9C 93 q unsafe type ... весь текст скрыт [показать]
     
  • 3.18, lfx, 11:33, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +11 +/
    Лучше молчи... Когда я сказал что без unsafe на rust далеко не уедешь, любители смузи меня тапками забросали. Им что то объяснять себе дороже.
     
     
  • 4.34, Аноним, 15:08, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > тапками

    кедами

     
     
  • 5.70, Аноним, 09:36, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Вот и выросло поколение школьников, которое думает, что кеды придумали хипстеры ... весь текст скрыт [показать]
     
  • 2.13, Аноним, 10:53, 09/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –7 +/
    Вообще касательно самого языка Идея хорошая, только зря они его назвали rust ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, кверти, 12:25, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    >OS Fiasco

    Это когда FreeBSD переименовать успели?

     
     
  • 4.25, Аноним, 12:50, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +3 +/
    У вас фиаско с FreeBSD?


     
  • 3.24, Аноним, 12:46, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Надо ([кому?]) переписать игру Rust на язык Rust.
     
  • 2.37, pda, 15:20, 09/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    И что Похоже вы как и многие не правильно понимают назначение unsafe так же ка... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.54, sadasd, 21:24, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    О чем и речь, что в коде там дофига unsafe и смысла писать на Rust нет А вообще... весь текст скрыт [показать]
     
     
  • 4.62, Тот же Аноним, 00:31, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    А -fpermissive можно А то на с такое бывает блаблабла предупреждение декл... весь текст скрыт [показать]
     
  • 4.81, Vkni, 21:48, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Смысла есть - во-первых, внутре unsafe тоже rust, а не C Во-вторых, ошибки быва... весь текст скрыт [показать]
     
  • 3.55, _, 21:46, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    хоть как то работающие программы Не надо песен, у нас их тоже есть Наивн... весь текст скрыт [показать]
     
     
  • 4.64, pda, 01:07, 10/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Вы так ничего и не поняли Бессмысленное сравнение В Java визитной карточкой к... весь текст скрыт [показать]
     
     
  • 5.99, iZEN, 12:35, 12/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Все объекты, используемые хоть раз в программе, что, сразу нужно инициализироват... весь текст скрыт [показать]
     
     
  • 6.102, Iaaa, 13:26, 12/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Да забей ты Поносятся годик второй с этой модной молодежной поделкой Накопится... весь текст скрыт [показать]
     
  • 6.104, Nexmean, 14:03, 12/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Вы сами то поняли, что сказали Типа указатель у нас уже есть на память, но там ... весь текст скрыт [показать]
     
     
  • 7.106, Andrey Mitrofanov, 14:22, 12/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    https en wikipedia org wiki Lazy_evaluation Это ничего, что Вы чего-то не знае... весь текст скрыт [показать]
     
  • 6.105, Nexmean, 14:07, 12/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Ну а ещё есть Option T , который от null отличается тем, что если в нем лежит НИ... весь текст скрыт [показать]
     
  • 1.26, Crazy Alex, 13:29, 09/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +7 +/
    "Работа над проектом началась неделю назад и функциональность библиотеки пока сильно ограничена" - ну и смысл в таких новостях? Когда что-то хотя бы слегка живое будет - тогда и поговорим. И даже после этого - в реальном применении возникнет миллион нюансов, частных случаев и прочего, и только после возни с ними станет понятно, жизнеспособна идея или нет.
     
     
  • 2.28, Аноним, 14:23, 09/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Вопрос, дотянет ли оно хотя бы до четвёртой недели ... весь текст скрыт [показать] [показать ветку]
     
  • 2.29, RobotsCantPoop, 14:41, 09/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +5 +/
    Первый релиз нового быстрого офиса, без глюков работающего с doc и docx int mai... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.30, Anonymous Coward, 14:47, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +3 +/
    exit(EXIT_SUCCESS);
     
     
  • 4.36, A.Stahl, 15:13, 09/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +7 +/
    Вот! Уже можно ещё одну новость писать про значительные улучшения, про сообщество с патчами и даже честно можно приложить ченджлог!
     
  • 2.69, freehck, 09:09, 10/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Смысл новости в подтексте видимо, который такой некоторые люди считают, что rus... весь текст скрыт [показать] [показать ветку]
     
  • 1.38, Аноним, 15:30, 09/03/2018 [ответить] [смотреть все]     [к модератору]  
  • +/
    Пиарят Rust как могут Только лучше бы толковых библиотке понаписали и примеров ... весь текст скрыт [показать]
     
     
  • 2.42, Аноним, 16:58, 09/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    С нетерпением жду когда питонисты подхватят знамя и напишут стандартную либу для... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.45, Аноним84701, 17:32, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Там знамя , AFAIK, немного не о том Поэтому питонистам придется сначала напис... весь текст скрыт [показать]
     
     
  • 4.46, Аноним, 17:54, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Они бы может и написали, но если растаманы только немного подтыривают си и асм, ... весь текст скрыт [показать]
     
     
  • 5.49, Аноним84701, 18:46, 09/03/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Ну а нафиг на опеннте еще одно не нужное мнение о не нужности не нужного ... весь текст скрыт [показать]
     
  • 1.39, Ivan_83, 15:47, 09/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Очередной пеар от раст боев.
    У раста ещё меньше каких то полезных работающих проектов чем у го.

    Кроме пеара в общем то у обоих новых языков ничего и нет, на фоне мира си и крестов.

     
     
  • 2.110, Аноним, 14:38, 13/03/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    >раст боев

    Что, так и хочется сказать прямо, да? ;)

     
  • 1.43, анонимус, 17:05, 09/03/2018 [ответить] [смотреть все]    [к модератору]  
  • –3 +/
    Зачем тащить этот образчик, как не надо делать в новую ось?
     
     
  • 2.52, Вареник, 20:45, 09/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Избыток свободного времени и неумение найти ему лучшее применение Давайте переп... весь текст скрыт [показать] [показать ветку]
     
  • 1.44, Аноним, 17:32, 09/03/2018 [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    и приобрести 5 новых типов указателей ... весь текст скрыт [показать]
     
  • 1.50, Ordu, 19:57, 09/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    > Автоматическое управление памятью в Rust избавляет разработчика от манипулирования указателями

    Особенно при написании функции strlen, например. Или при реализации printf.
    Кстати, любопытно как они собираются разруливать varargs, если rustc вечно настаивает на том, чтобы сохранять за собой возможность точно рассчитать на этапе компиляции размер стека, который требуется для программы.

     
  • 1.51, Вареник, 20:43, 09/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    Про безопасность ранней Жавы говорил что-то схожее "безопасности" нынешнего сырого хруста в руках малолетних фанатиков :)
     
     
  • 2.57, _, 21:50, 09/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Вот Просто таких старых как мы с тобой уже почти не осталось, другие забыли, а ... весь текст скрыт [показать] [показать ветку]
     
  • 1.56, Нет ты, 21:47, 09/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Безопасненько

    #[no_mangle]
    pub unsafe extern "C" fn strncat(s1: *mut c_char, s2: *const c_char, n: usize) -> *mut c_char {
        let mut idx = strlen(s1 as *const _) as isize;
        for i in 0..n as isize {
            if *s2.offset(i) == 0 {
                break;
            }

            *s1.offset(idx) = *s2.offset(i);
            idx += 1;
        }
        *s1.offset(idx) = 0;

        s1
    }

     
  • 1.59, Аноним, 22:28, 09/03/2018 [ответить] [смотреть все]     [к модератору]  
  • +/
    Так и запишем go для безделушек типа сервисов, rust для системных безделушек Х... весь текст скрыт [показать]
     
     
  • 2.84, Аноним, 22:32, 10/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Они полезны Одно выпячивает титиретиков от програмизма и прочих страдальцев фиг... весь текст скрыт [показать] [показать ветку]
     
  • 1.90, Аноним, 09:59, 11/03/2018 [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Заметьте, снова под нормальной свободной лицензией MIT , а не вирусным несвобод... весь текст скрыт [показать]
     
     
  • 2.92, Nexmean, 11:37, 11/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +2 +/
    Кстати да, MIT лицензия может стать очень серьёзным конкурентным преимуществом д... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.109, Аноним, 14:34, 13/03/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Не ново. Musl несколько лет уже есть, он под MIT.
     
  • 1.111, Аноним, 14:46, 13/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    Чем бы дитя не тешилось...
     
  • 1.112, dq0s4y71, 14:47, 13/03/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    > Автоматическое управление памятью в Rust избавляет разработчика от манипулирования указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера.

    Интересно, а malloc (и вообще работу с динамической памятью) они в этой библиотеке каким образом реализовали?

    Похоже, ребята придумали такую "безопасную версию" пилорамы - с циркулярной пилой без зубьев. А когда на ней нужно что-нибудь распилить, пилу нужно временно поменять на нормальную, с зубьями. Зато она теперь Безопасная, чо.

     
     
  • 2.114, Аноним, 15:33, 13/03/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    https github com redox-os relibc blob 1b1ff5c750cac0db2324df7a9d51fbd1e445a70e... весь текст скрыт [показать] [показать ветку]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor