URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 135685
[ Назад ]

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

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

Подробнее: https://www.opennet.me/opennews/art.shtml?num=62500


Содержание

Сообщения в этом обсуждении
"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 13:48 
Непонятно, как можно на языке Си написать стандартную библиотеку языка Си, ведь для того, чтобы работал язык Си, сначала нужна работающая библиотека языка Си.

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 14:20 
Представь, что ты первый раз на ассемблере написал Си и теперь у тебя есть рабочий Си компилятор написанный на Си. Вывел тебя из бесконечного цикла - можешь благодарить.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 14:40 
Я лет в 14 задавался вопросом, как писали первый компилятор для первого языка.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 17:41 
> Я лет в 14 задавался вопросом, как писали первый компилятор для первого языка.

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

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 02-Янв-25 01:02 
когда компиляторов не было, студентов сразу обучали структуре команд процессора какой-нить бэсм-6, после чего они программы писали сразу машинными кодами и набивали их на перфокартах.

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

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

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 03-Янв-25 23:08 
Эх, были времена...

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено 12yoexpert , 02-Янв-25 03:33 
а первые версии gcc разве не протеряли? сейчас разве можно повторить всю цепочку от бинарного кода до gcc 15, чтобы убедиться в отсутствии кгб-шных закладок?

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 02-Янв-25 08:25 
Ты бросай употреблять то, что употребляешь
Тот же Guix бутстрапится с нуля
https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-.../

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено межгалактический , 01-Янв-25 14:40 
Не нужна. Сишка работает без рантайма.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено межгалактический , 01-Янв-25 15:07 
Скриптуха адепт не смог ничего ответить, порвался и заминусил. Зато пропаганду ретранслировать он первый. Типичная картина.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 15:49 
поищи gnu mes - уроборос из сишки и скриптухи
правильнее этого было бы только на асме написать или баше компилятор сей ради раскрутки

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 16:21 
> Не нужна. Сишка работает без рантайма.

В реальности опеннетных кекспертов все так. Но в нашей -- есть "нЬюансы".
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.
>


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 02-Янв-25 06:34 
"Рантайм" (а также "эмулятор", "виртуальная машина") - это такой совоглобусонатягивательный термин. Потому что он переводится как "времени выполнения", а что там времени выполнения - додумывается по контексту. Например, "Are there any ML style languages with no runtime?".

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

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 17:42 
> Не нужна. Сишка работает без рантайма.

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Александр , 02-Янв-25 01:34 
Интерфейс ядра в помощь

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено шизоним , 01-Янв-25 15:29 
Не позорься. man gcc

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 15:47 
Это для того, чтобы работал раст, нужна стдлиба и 100500 других пакетов из карго, а сишные компиляторы могут быть хоть со статически пришпиленной стдлибой, хоть линковаться под чужую стдлибу, хоть можно их написать без стдлибы вообще.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Анон из села Кукуево , 01-Янв-25 16:08 
Ну зачем постоянно нести чушь и приплетать раст о котором ты ничего не знаешь?
Да, изначально компайлер раста собирался тем что написан на сях, так быстрей создавать первые версии. Сейчас он может пройти бутстрапинг и будет собран сам собой
И уж конечно ему не нужны пакеты из карго

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 02-Янв-25 01:27 
>Да, изначально компайлер раста собирался тем что написан на сях

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 02-Янв-25 08:26 
А сейчас вполне начинает бутстрап с GNU Mess, например, а потом уже tinycc, gcc 2.95 и далее

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 16:13 
> Это для того, чтобы работал раст, нужна стдлиба написанная на расте
>  а сишные компиляторы могут быть хоть ЭТОДРУГОЕ!

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

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


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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 17:51 
> Ссылки на сишко-компиляторы "без стдлибы" (со сравнимым с растовым, уровнем оптимизации
> выхлопа, а не "laba4.c") ты просто забыл добавить, ага.

GCC, Clang - с ключем -ffreestanding. Для C99 и новее стандарт штатно регламентирует режим "freestanding", без либ вообще.

А уровень оптимизации выхлопа - у clang это тот же LLVM, на минуточку. Да и GCC не спасует. А обвес у хруста все же жирнее. И с .so это барахло работает криво.

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

Так то там стдлиба - отдельные проекты. Скажем glibc6 - отдельный проект, не связанный с gcc или clang сам по себе. Как и musl какой. Это хрустики все напихали в 1 проект, нате на лопате - и - вот - переделывают постоянно. Получив этакую пародию на питон в итоге. И период полураспада проектов под стать.


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 18:32 
>>> а сишные компиляторы могут быть хоть [...] хоть можно их написать без стдлибы вообще.
>> Ссылки на сишко-компиляторы "без стдлибы" (со сравнимым с растовым, уровнем оптимизации
>> выхлопа, а не "laba4.c") ты просто забыл добавить, ага.
> GCC, Clang - с ключем -ffreestanding. Для C99 и новее стандарт штатно регламентирует режим "freestanding", без либ вообще.

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 02-Янв-25 06:10 
Для того, что бы собрать программу на расте стдлиба не нужна. Причём куча популярных либов умеют собираться в режиме «без стдлибы».

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Анон из села Кукуево , 01-Янв-25 16:06 
Иди читать про бутстрапинг компайлеров
https://en.wikipedia.org/wiki/Bootstrapping_(compilers)

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним0000 , 01-Янв-25 21:50 
В Си библиотека не является частью языка.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 23:11 
В любом языке не является.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено zog , 04-Янв-25 01:45 
Но не в любом языке без библиотеки нельзя написать ничего полезного.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Ivan7 , 02-Янв-25 16:17 
Чтобы использовать С, стандартная библиотека С не нужна. Аналогично для С++: чтобы его использовать стандартная библиотека С++ не нужна.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Александр , 11-Янв-25 18:46 
Для C++ условно не нужна. Какой-нибудь std::initializer_list без библиотеки не получится использовать, хоть он и часть языка.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено adolfus , 04-Янв-25 23:40 
Вот и выросло поколение, не ведающее, что такое "процесс раскрутки компилятора".

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 14:22 
Чего они там все постоянно пишут? Там всего-то надо передать управление в main ну и скажем malloc/free реализовать. Да ну системные вызовы прокинуть в заголовках.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 23:25 
Что они и сделали. Ещё принтф)

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено adolfus , 05-Янв-25 00:05 
Мажду адресом _start и адресом main куча кода, связанного с настройкой доступа к системным вызовам. Просто посмотрите в файл /usr/include/asm/unistd*.h. Их там почти 4 сотни и все, что не связано с мультипоточностью (си не поддерживает мультпоточность), нужно обернуть, чтобы добраться к ним из программы. Собственно, можно прочитать стандарт в части libc и не задавать вопросов, насколько она велика и что делает.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 05-Янв-25 00:35 
Сделать так, чтобы stderr - это был UART2 на скорости 115200. Штука полезная в целом.

newlib - это эмбеддед в 90% случаев. И да, какой-нибудь atoi там тоже бывает полезен.


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 14:41 
А правда что в Apple пишут на СИ с классами?

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним324 , 01-Янв-25 17:29 
В эпл пишут на свифте уже лет 10.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним657 , 01-Янв-25 17:58 
Ядро, драйвера и прочие низкоуровневое ПО то же на свифте?

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 20:16 
На СиСи.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 04-Янв-25 17:05 
На BoobsLang

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Илья , 02-Янв-25 10:11 
свифт это в свою очередь надстройка поверх си с классами.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 23:11 
Только продвинутые инженеры, над которыми не пыхтит менеджент.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Вы забыли заполнить поле Name , 01-Янв-25 23:41 
Где? Если речь про webkit, то нет.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено adolfus , 05-Янв-25 00:13 
И не только в apple. Objective-c сам по себе неплох. Он комактнее, компилируется намного быстрее и генерирует более надежный код, нежели c++. Компилятор есть для всех платформ.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 15:52 
>пригодной для использования на встраиваемых системах c небольшим объёмом постоянного хранилища и оперативной памяти

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 15:53 
И конечно же хороший такой оперативки. На нём не то, что си, на нём можно будет, наверно, и жабу раскрутить.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 17:57 
> Судя по тому, что писали редхатовцы, встраиваемая система как минимум будет держать
> в себе SSD и иметь пачку ядер, чтобы на ней имело
> смысл запускать системд.

Если посчитать uSD или eMMC за SSD - мои одноплатники вполне котируются! Да, на 32-битном ARM у меня от системд чаще всего аж 1 процесс, pid 1, жрет "аж" целые 6 мегов оперативки. Кошмар, конечно. Но даже на 256 мегах - не напрягает. А меньше уже никто и не делает, даже в 10-баксовых железках продаваемых по цене текстолита.

И самый зачуханый 1-ядерник на гигагерц (дохлее у меня просто нет уже) и то взлетает за 6 секунд. При том что я это не оптимизировал, и так нормуль. Newlib там впрочем нет - там и обычная глибса зашибись, такое - для чего-то еще более мелкого, типа openwrt - но тот с своим musl тоже так то - раздирел, да и при попытке сделать "зато не системд!" сделал нечто еще более ужасное. И жрущее по 2 мега на каждый процесс изолируемый от системы - так что если процессов в системе более 3, оно хуже системды оказывается.


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено OpenEcho , 01-Янв-25 19:16 
>  А меньше уже никто и не делает, даже в 10-баксовых железках продаваемых по цене текстолита.

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

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

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

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 19:51 
> TinyVPS: RAM-64Mb где ваш любимый инит сожрет 10% памяти

Мне за 3 бакса KVM виртуалку с гигом RAM дают. Стесняюсь спросить: с 64 мегами это что, на какой архитектуре и почем дают? И что на нем потом запускают?

Учитывая что за 10 баксов я 1-платник с 256 мегами и 4 ядрами воткну. И он мой - навечно вообще. Более того - с такими ресусами у меня пачка роутеров с owrt есть совершенно на шару - "потому что они были".

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

В моем минимальном дебиане сервисов как таковых и нет. Есть - sd и - вот - getty на uart допустим, через который начальный контроль над железкой.

И это не "приглашение войти" а "systemd-analyze". При том большую часть времени жрет старт ядра и пробинг железок, маунт фс и проч, куда без этого? Вооон там за счет bg_tree btrfs стал маунтится на добрую секунду быстрее, нахаляву. Ня.

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

Одноплатники это как правило управляющие системы и около - и там чем быстрее стартанет и получит контроль, тем в обещм то лучше.

> Или система все же для чего то более взрослого?

Это, типа, туповэйтинга по минуте когда роутер с скрипторой в опенврте ребутается - так что TCP конекции отлипнуть порой успевают даже если технологии типа вайргада и удержали абстракцию что параметры не изменились? Очень круто и удобно. Но пауза в работе девайса 6 секунд лучше чем 60.

> Есть куча сервисов которые зависят друга от друга,

Вот прям на той 64 меговой VPSке? :)

> где пока один полностью не функционален, другой просто не
> может работать и чудо потеринга делает тоже самое, - ждет, но
> невидимо для тех, кто не понимает как оно там под капотом

А я как раз неплохо подружился с поттеровской штукой. И - у него есть notification api и watchdog api. То с чем у вон того барахла - не задалось. Очень упрощает мне жизню в вот именно этом аспекте + мониторинг живости лично моих критичных по части живости девайса сервисов.


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 20:01 
>TinyVPS: RAM-64Mb где ваш любимый инит сожрет 10% памяти

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

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено glad_valakas , 02-Янв-25 00:12 
> У системд есть куча преимуществ,

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

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

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

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

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

и это все ?


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 02-Янв-25 01:24 
>так расскажите о них

В сообщении на которое вы отвечаете уже пару указана
>наилегчайшей: man nsenter, man chroot.

Не смешно. В systemd можно создать override, не трогая оригинал, что полезно в частности при обновлении. Можно ли это сделать в баш портянках? Нет. В systemd изоляция прозрачна для юнита, добавляется какой-нибудь параметр, типа DynamicUser = true и всё. В баш портянках уже нужно будет оборачивать вызов программы во что-то, чтобы параметры программы не перепутались с параметрами nsenter. В systemd это поведение переиспользуется - для условного nginx и apache полностью одинаковое. В баш портянках нужно будет каждую простыню редактировать отдельно, руками. Поведение в systemd идёт из коробки, в баш портянках все сторонние утилиты придётся устанавливать вручную, и в случае, если в утилите нет нужного функционала, ещё и мигирировать придётся. Про дырявый chroot вообще вспоминать должно быть стыдно, не говоря уже про то, что ему вообще нужно отдельную файловую иерархию готовить.
>вместо настройки демона через конфиг

А как же юниксвей? Или программе мало того, что свою задачу выполнять, так ещё и часть инита содержать, в том числе и переключаться на чужого пользователя? А запускать все программы полагается от рута, правильно?
>и это все ?

Нет, не всё. Вы хотя бы это осильте.


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 17:01 
Для С нужен сборщик, который берет только нужные функции и выкидывает ненужные. Но это сложно в случае применения рефлексии. И тем не менее такие оптимизации возможны.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 01-Янв-25 23:13 
не вижу твоих решений по рефлексии для машиных кодов или ассембрера. может оно тебе не и нужно вовсе?

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Имя Моё , 02-Янв-25 05:46 
> "пригодной для использования на встраиваемых системах c"

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


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 04-Янв-25 17:07 
Мюсли уже стали пригодны на устройствах без MMU ?

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 02-Янв-25 06:52 
Уточню стандартной она называется от того, что она упоминается в Стандарте языка С23.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено adolfus , 04-Янв-25 23:38 
С23 не причем -- библиотека libc входит в состав языка изначально со времен K&R и является такой же частью языка, как и любой его оператор. Именно поэтому компоновщику не требуется указывать функции из нее (-lc), в отличие, например, от libm (-lm). Во всех версиях стандарта она детально описывается.

"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено Аноним , 05-Янв-25 08:45 
Из книги Кернигана и Ритчи "Язык программирования Си" (перевод изд-ва Вильямс, 2009). Приложение Б. Стандартная библиотека.
"В этом приложении кратко описана библиотека, определённая стандартом ANSI.
Стандартная библиотека не вляется частью собственно языка, однако всякая среда, поддерживающая язык Си, обязана предоставить программисту объявления функций, типов и макросов, содержащиеся в этой библиотеке. Здесь опущены описания некоторых функций, имеющих слишком ограниченное применение или легко синтезируемых на основе других; нерассматриваются многобайтные символы, а также вопросы локализации, т.е. свойства библиотеки, зависящие от конкретного языка, страны или культурной среды".

Я это процитировал не для того чтобы опровергнуть ваше сообщение. Интересно то, что в 1989 году авторы языка имели такую точку зрения.

В ядре Линукса запрещено использование каких-либо библиотек,и это вполне логично.


"Опубликована стандартная Си-библиотека newlib 4.5.0"
Отправлено adolfus , 04-Янв-25 23:29 
> Добавлена поддержка спецификации POSIX.1-2024.

Поделитесь pdf'ом, у кого есть.