The OpenNET Project / Index page

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

Опубликована стандартная Си-библиотека newlib 4.5.0

01.01.2025 12:03

После года разработки проект Cygwin опубликовал выпуск стандартной Си-библиотеки newlib 4.5.0, развиваемой инженерами из компании Red Hat. Библиотека нацелена на предоставление компактной реализации стандартной Си-библиотеки (libc), пригодной для использования на встраиваемых системах c небольшим объёмом постоянного хранилища и оперативной памяти. Код проекта написан на языке Си и распространяется под лицензией LGPLv2.

В новой версии:

  • Добавлена поддержка спецификации POSIX.1-2024.
  • Добавлен порт для архитектуры набора команд Synopsys Designware ARCv3.
  • Переработаны сценарии сборки libgloss, в которых прекращена поддержка старых платформ (xc16x) и сведена в один Makefile поддержка оставшихся (moxie, v850, i960, msp430, frv, i386 и т.п.).
  • Улучшена поддержка система на базе архитектуры Arc (Argonaut RISC Core).
  • Порт sys/xtensa заменён на machine/xtensa в сочетании с библиотекой libgloss.
  • Обеспечена совместимость с GCC 15.


  1. Главная ссылка к новости (https://github.com/cygwin/cygw...)
  2. OpenNews: Выпуск Cygwin 3.5.0, GNU-окружения для Windows
  3. OpenNews: Утверждён стандарт POSIX 1003.1-2024
  4. OpenNews: Выпуск стандартной Си-библиотеки Cosmopolitan 2.0, развиваемой для переносимых исполняемых файлов
  5. OpenNews: Выпуск стандартной Си-библиотеки PicoLibc 1.8.6
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62500-newlib
Ключевые слова: newlib, cygwin
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (50) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.8, Аноним (8), 13:48, 01/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –16 +/
    Непонятно, как можно на языке Си написать стандартную библиотеку языка Си, ведь для того, чтобы работал язык Си, сначала нужна работающая библиотека языка Си.

    Получается замкнутый круг.

     
     
  • 2.9, Аноним (9), 14:20, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Представь, что ты первый раз на ассемблере написал Си и теперь у тебя есть рабочий Си компилятор написанный на Си. Вывел тебя из бесконечного цикла - можешь благодарить.
     
     
  • 3.12, Аноним (12), 14:40, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я лет в 14 задавался вопросом, как писали первый компилятор для первого языка.
     
     
  • 4.35, Аноним (-), 17:41, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Я лет в 14 задавался вопросом, как писали первый компилятор для первого языка.

    А тебя не удивляло что для того чтобы сделать станок - нужны станки, которые произведут детали для этого станка? А вот поди ж ты - как-то их делают!

    Первые первобытные парсеры можно было и на тетрадном листочке заассемблить. А потом - этот парсер (например простой ассмемблер для начала) - ускорит и улучшит процесс ассемблирования. Это позволит написать быстрее программу больше и жирнее, и можно попробовать небольшой компилер си. Даже если он будет и неполный, можно однако написать с его помощью более шустро - более полный вариант. А потом - и пересобрать его сам собой, например. И далее девелопать - так. Это называется - bootstrap.

     
  • 4.54, Аноним (54), 01:02, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    когда компиляторов не было, студентов сразу обучали структуре команд процессора какой-нить бэсм-6, после чего они программы писали сразу машинными кодами и набивали их на перфокартах.

    после чего вся колода перфокарт относилась оператору и оставлялась в правильной коробке с твоим именем.
    оператор, когда подойдёт твоя очередь, должен был это всё скормить машине, запустить, всю выдачу распечатать на очень длинной бумаге и всё вместе сложить обратно в коробку чтобы ты это потом забрал.

    таким образом, буфер ввода-вывода был картонной коробкой, а роль некоторых программ и устройств выполняли отдельные люди.

    поэтому вся система напоминала армейскую игру дедушек в карты, намалёванные на матрацах, которые духи по плацу тасовали по команде дедов с биноклями.

     
     
  • 5.70, Аноним (70), 23:08, 03/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Эх, были времена...
     
  • 3.59, 12yoexpert (ok), 03:33, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    а первые версии gcc разве не протеряли? сейчас разве можно повторить всю цепочку от бинарного кода до gcc 15, чтобы убедиться в отсутствии кгб-шных закладок?
     
     
  • 4.65, Аноним (65), 08:25, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ты бросай употреблять то, что употребляешь
    Тот же Guix бутстрапится с нуля
    https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-sour
     
  • 2.11, межгалактический (?), 14:40, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не нужна. Сишка работает без рантайма.
     
     
  • 3.18, межгалактический (?), 15:07, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Скриптуха адепт не смог ничего ответить, порвался и заминусил. Зато пропаганду ретранслировать он первый. Типичная картина.
     
     
  • 4.24, Аноним (24), 15:49, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    поищи gnu mes - уроборос из сишки и скриптухи
    правильнее этого было бы только на асме написать или баше компилятор сей ради раскрутки
     
  • 3.30, Аноним (30), 16:21, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Не нужна. Сишка работает без рантайма.

    В реальности опеннетных кекспертов все так. Но в нашей -- есть "нЬюансы".
    https://gcc.gnu.org/onlinedocs/gcc/Standards.html
    > Most of the compiler support routines used by GCC are present in libgcc, but there are a few exceptions. GCC requires the freestanding environment provide memcpy, memmove, memset and memcmp.
    >

     
     
  • 4.63, Аноним (63), 06:34, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    "Рантайм" (а также "эмулятор", "виртуальная машина") - это такой совоглобусонатягивательный термин. Потому что он переводится как "времени выполнения", а что там времени выполнения - додумывается по контексту. Например, "Are there any ML style languages with no runtime?".

    Если хочется указать на ньювансы, то проще начать с того, что настоящая точка входа находится не в main и предоставляется рантаймом https://en.wikipedia.org/wiki/Crt0

    Если хочется ответить на изначальный вопрос, то рассказать про бутстраппинг компиляторов.

     
  • 3.36, Аноним (-), 17:42, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Не нужна. Сишка работает без рантайма.

    А как ты будешь скомпилированное записывать куда-то без рантайма? :)

     
     
  • 4.57, Александр (??), 01:34, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Интерфейс ядра в помощь
     
  • 2.22, шизоним (-), 15:29, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не позорься. man gcc
     
  • 2.23, Аноним (24), 15:47, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это для того, чтобы работал раст, нужна стдлиба и 100500 других пакетов из карго, а сишные компиляторы могут быть хоть со статически пришпиленной стдлибой, хоть линковаться под чужую стдлибу, хоть можно их написать без стдлибы вообще.
     
     
  • 3.28, Анон из села Кукуево (?), 16:08, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну зачем постоянно нести чушь и приплетать раст о котором ты ничего не знаешь?
    Да, изначально компайлер раста собирался тем что написан на сях, так быстрей создавать первые версии. Сейчас он может пройти бутстрапинг и будет собран сам собой
    И уж конечно ему не нужны пакеты из карго

    Ну вот зачем постоянно придумываешь чушь и приплетаешь ее к расту, к гоулэнгу и прочему, что моложе 20 лет? Вот что бы что?

     
     
  • 4.56, Аноним (56), 01:27, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Да, изначально компайлер раста собирался тем что написан на сях

    Самомнение сишников не позволяет им сказать, что изначально компилятор был написан на окамле.

     
     
  • 5.66, Аноним (65), 08:26, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А сейчас вполне начинает бутстрап с GNU Mess, например, а потом уже tinycc, gcc 2.95 и далее
     
  • 3.29, Аноним (30), 16:13, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Это для того, чтобы работал раст, нужна стдлиба написанная на расте
    >  а сишные компиляторы могут быть хоть ЭТОДРУГОЕ!

    Пофиксил, не благодари.
    > хоть можно их написать без стдлибы вообще.

    Ссылки на сишко-компиляторы "без стдлибы" (со сравнимым с растовым, уровнем оптимизации выхлопа, а не "laba4.c") ты просто забыл добавить, ага.


    А то всякие шланги и gcc почему-то пишут с стдлибой, да еще и плюсы вместо сишки использовать норовят - вот жеж неосиляторы, в отличии от опеннетовцев ...

     
     
  • 4.37, Аноним (-), 17:51, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    GCC, Clang - с ключем -ffreestanding Для C99 и новее стандарт штатно регламенти... большой текст свёрнут, показать
     
     
  • 5.40, Аноним (30), 18:32, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>> а сишные компиляторы могут быть хоть [...] хоть можно их написать без стдлибы вообще.
    >> Ссылки на сишко-компиляторы "без стдлибы" (со сравнимым с растовым, уровнем оптимизации
    >> выхлопа, а не "laba4.c") ты просто забыл добавить, ага.
    > GCC, Clang - с ключем -ffreestanding. Для C99 и новее стандарт штатно регламентирует режим "freestanding", без либ вообще.

    И как обычно -- читать могут не только лишь все ...
    > <остальное поскипано, т.к. "уровень" и "содержание" примерно те же.>
    >

     
  • 3.62, Аноним (62), 06:10, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для того, что бы собрать программу на расте стдлиба не нужна. Причём куча популярных либов умеют собираться в режиме «без стдлибы».

    Именно поэтому на расте можно писать ядра ОС, писать под микроконтроллеры и так далее.

     
  • 2.27, Анон из села Кукуево (?), 16:06, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Иди читать про бутстрапинг компайлеров
    https://en.wikipedia.org/wiki/Bootstrapping_(compilers)
     
  • 2.46, Аноним0000 (?), 21:50, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В Си библиотека не является частью языка.
     
     
  • 3.48, Аноним (48), 23:11, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В любом языке не является.
     
     
  • 4.71, zog (??), 01:45, 04/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Но не в любом языке без библиотеки нельзя написать ничего полезного.
     
  • 2.68, Ivan7 (ok), 16:17, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы использовать С, стандартная библиотека С не нужна. Аналогично для С++: чтобы его использовать стандартная библиотека С++ не нужна.
     

  • 1.10, Аноним (9), 14:22, 01/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Чего они там все постоянно пишут? Там всего-то надо передать управление в main ну и скажем malloc/free реализовать. Да ну системные вызовы прокинуть в заголовках.
     
     
  • 2.51, Аноним (51), 23:25, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что они и сделали. Ещё принтф)
     

  • 1.13, Аноним (12), 14:41, 01/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А правда что в Apple пишут на СИ с классами?
     
     
  • 2.33, Аноним324 (ok), 17:29, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В эпл пишут на свифте уже лет 10.
     
     
  • 3.39, Аноним657 (?), 17:58, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ядро, драйвера и прочие низкоуровневое ПО то же на свифте?
     
     
  • 4.45, Аноним (45), 20:16, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На СиСи.
     
  • 3.67, Илья (??), 10:11, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    свифт это в свою очередь надстройка поверх си с классами.
     
  • 2.49, Аноним (48), 23:11, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Только продвинутые инженеры, над которыми не пыхтит менеджент.
     
  • 2.52, Вы забыли заполнить поле Name (?), 23:41, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Где? Если речь про webkit, то нет.
     

  • 1.25, Аноним (24), 15:52, 01/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >пригодной для использования на встраиваемых системах c небольшим объёмом постоянного хранилища и оперативной памяти

    Судя по тому, что писали редхатовцы, встраиваемая система как минимум будет держать в себе SSD и иметь пачку ядер, чтобы на ней имело смысл запускать системд.

     
     
  • 2.26, Аноним (24), 15:53, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И конечно же хороший такой оперативки. На нём не то, что си, на нём можно будет, наверно, и жабу раскрутить.
     
  • 2.38, Аноним (-), 17:57, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если посчитать uSD или eMMC за SSD - мои одноплатники вполне котируются Да, на ... большой текст свёрнут, показать
     
     
  • 3.41, OpenEcho (?), 19:16, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >  А меньше уже никто и не делает, даже в 10-баксовых железках продаваемых по цене текстолита.

    TinyVPS: RAM-64Mb где ваш любимый инит сожрет 10% памяти

    > И самый зачуханый 1-ядерник на гигагерц (дохлее у меня просто нет уже) и то взлетает за 6 секунд.

    Гон. То что вы увидели приглашение воити, - не значит, что там, заднем плане не продолжает идти загрузка сервисов.

    И да, меня всегда удиляло, как легко на это повелось столько много народа, - вы только то и делаете что перезагружетесь каждую минуту чтоб смаковать как быстро появилось cli ? Или система все же для чего то более взрослого? Есть куча сервисов которые зависят друга от друга, где пока один полностью не функционален, другой просто не может работать и чудо потеринга делает тоже самое, - ждет, но невидимо для тех, кто не понимает как оно там под капотом

     
     
  • 4.42, Аноним (-), 19:51, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Мне за 3 бакса KVM виртуалку с гигом RAM дают Стесняюсь спросить с 64 мегами э... большой текст свёрнут, показать
     
  • 4.43, Аноним (56), 20:01, 01/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >TinyVPS: RAM-64Mb где ваш любимый инит сожрет 10% памяти

    И зачем она нужна? Что на ней можно делать? На ней не только инит, на ней практически всё сожрёт кучу памяти, даже ssh.
    >и чудо потеринга делает тоже самое, - ждет, но невидимо для тех, кто не понимает как оно там под капотом

    У системд есть куча преимуществ, вроде лёгкой изоляции сервисов и прозрачного переопределения частей юнита. Но системд-хейтеры старательно игнорируют эти, а так же другие преимущества systemd.

     
     
  • 5.53, glad_valakas (-), 00:12, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > У системд есть куча преимуществ,

    так расскажите о них. может я чего не знаю. может же такое быть ?

    > вроде лёгкой изоляции сервисов

    наилегчайшей: man nsenter, man chroot.

    > и прозрачного переопределения частей юнита

    вместо настройки демона через конфиг перетряхивать юниты. отлично.

    и это все ?

     
     
  • 6.55, Аноним (56), 01:24, 02/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В сообщении на которое вы отвечаете уже пару указана Не смешно В systemd можно ... большой текст свёрнут, показать
     

  • 1.32, Аноним (-), 17:01, 01/01/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –3 +/
     

  • 1.61, Имя Моё (?), 05:46, 02/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > "пригодной для использования на встраиваемых системах c"

    Прям история musl.

     
  • 1.64, Аноним (-), 06:52, 02/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уточню стандартной она называется от того, что она упоминается в Стандарте языка С23.
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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