The OpenNET Project / Index page

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



"Выпуск стандартных Си-библиотек Glibc 2.43 и newlib 4.6.0 "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск стандартных Си-библиотек Glibc 2.43 и newlib 4.6.0 "  +/
Сообщение от opennews (??), 25-Янв-26, 00:12 
После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library  2.43 (glibc), которая полностью следует требованиям стандартов ISO C23 и POSIX.1-2024. В создании нового выпуска приняли участие 69 разработчиков...

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

4. Сообщение от Аноним (4), 25-Янв-26, 00:25   –1 +/
>Добавлена экспериментальная возможность сборки компилятором Clang, которая пока доступна только для платформ aarch64-linux-gnu и x86_64-linux-gnu при использовании runtime, совместимого с libgcc. Для сборки Glibc требуется как минимум версия Clang 18.

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #8, #27, #37, #45, #104

6. Сообщение от Аноним (6), 25-Янв-26, 00:48   –1 +/
Они заняты фиксами CVE и добавлением новых.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

8. Сообщение от Аноним (8), 25-Янв-26, 01:13   +6 +/
Мифология Си: Любой может написать компилятор, потому что у Си есть славный Стандарт!

Reality check:

1. Стандарт платный. Странная особенность для вроде бы "открытого" "общедоступного" языка.

2. Стандарт состоит из: а) оглавления, б) undefined behavior. Больше там ничего нет. Допустим, в оглавлении написано: "Глава о том, как складывать инты .... Страница 1234". Переходим на эту страницу и читаем: "Складывайте как хотите. int + int это undefined behavior."

3. Гигантское количество проектов собирается ровно одним компилятором. Поддержка второго компилятора там всегда экспериментальная. Например, хромиум официально собирается только шлангом. Для поддержки GCC всегда нужны патчи. Всегда! За пруфами идите в репу Gentoo, в котором эти патчи обновляются каждый (!) релиз хромиума.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #10, #12, #23, #28, #69, #76, #97, #126

9. Сообщение от Аноним (14), 25-Янв-26, 04:16   –1 +/
> C23 функции bsearch, memchr, strchr, strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr и wmemchr [...] переопределены как макросы

Не перестаю удивляться сишечному комитету. Сперва они воют о святой Обратной Совместимости, а потом БАЦ - и кучу функций заменяют макросами. 🤦

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #20, #25, #29

10. Сообщение от Аноним (10), 25-Янв-26, 04:23   +17 +/
>1. Стандарт платный.

А черновики стандарта нет. Последний черновик ничем не отличается итогового стандарта. Вот он www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf

>2. Стандарт состоит из: а) оглавления, б) undefined behavior. Больше там ничего нет.

Неправда, все написанно очень понятно и подробно.

>3. Гигантское количество проектов собирается ровно одним компилятором.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #14, #35, #65

11. Сообщение от Аноним (10), 25-Янв-26, 04:25   +3 +/
И как замена функций на макросы ломает обратную совместимость?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #13

12. Сообщение от Аноним (14), 25-Янв-26, 04:26   +/
> у Си есть славный Стандарт!
> Reality check:

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #55, #120

13. Сообщение от Аноним (14), 25-Янв-26, 04:35   +/
> И как замена функций на макросы ломает обратную совместимость?

Например, так, что указатели на соответствующие функции идут лесом.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #16

14. Сообщение от Аноним (14), 25-Янв-26, 04:40   +3 +/
>> undefined behavior
> очень понятно и подробно

Да, это прям очень понятно и очень подробно. 😂

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

16. Сообщение от Аноним (10), 25-Янв-26, 05:13   +2 +/
Для конкретно этих функций я не вижу ни одного случая, когда это будет практически нужно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #18

18. Сообщение от Аноним (18), 25-Янв-26, 09:12   +/
Есть .lib, или даже .so, которые ссылаются на эти функции. Чё делать будешь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #21

19. Сообщение от Аноним (-), 25-Янв-26, 09:25   –1 +/
>Добавлена экспериментальная возможность сборки компилятором Clang, которая пока доступна только для платформ aarch64-linux-gnu и x86_64-linux-gnu при использовании runtime, совместимого с libgcc.

Пермиссивщики враги копилефта. Зачем их поддерживать?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #31, #34, #36

20. Сообщение от Аноним (-), 25-Янв-26, 09:27   +1 +/
>заявляли тут, что ни перегрузки функций, ни шаблоны в языке не нужны. Оказалось, что таки нужны

Где нужны? В твоих мечтах?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #42, #48

21. Сообщение от Аноним (-), 25-Янв-26, 09:28    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

23. Сообщение от Аноним (-), 25-Янв-26, 09:37   –2 +/
>Стандарт платный. Странная особенность для вроде бы "открытого" "общедоступного" языка.

Общедоступный не означает на халяву. Тебе же никто до него доступ не закрыл. Купи. Или ты коммуняка? GNU поощряет коммерцию. Комитет трудился, составлял Стандарт а ты хочешь забесплатно что-ли? Вознагради Комитет своими деньгами. Стандат это продукт интеллектуального труда, а любой труд должен оплачиваться.

>Гигантское количество проектов собирается ровно одним компилятором.

Должен быть один GCC на всю планету. А если хотите конкуррента GCC, то конкуррент должен иметь лицензию GNU_v3, не ниже.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #26, #40, #52

25. Сообщение от Q (??), 25-Янв-26, 10:05   +/
С с перегрузкой функций и шаблонами уже есть и называется от С++ 🤷♂
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #33, #71

26. Сообщение от Аноним (26), 25-Янв-26, 10:24   +/
> никто до него доступ не закрыл

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

> Должен быть один GCC на всю планету.

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

27. Сообщение от Аноним (27), 25-Янв-26, 10:25   +1 +/
98% программ собираются и gcc, и clang.

Толсто!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #64

28. Сообщение от Аноним324 (ok), 25-Янв-26, 10:27   +/
> Гигантское количество проектов собирается ровно одним компилятором.

Вообще двумя, гцц и шланг. Остальное умерло. У майкрософта ещё есть мсвц, но он всё же С++ в первую очередь, там сишка по остаточному принципу.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #46

29. Сообщение от Аноним (27), 25-Янв-26, 10:27   +/
-std=c89 кто отнял?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #49

31. Сообщение от Аноним (61), 25-Янв-26, 10:46   +/
С большой долей вероятности именно пермиссивщики и проплатили или сами сделали это.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

33. Сообщение от Аноним (26), 25-Янв-26, 10:47   +/
а что мешает перегружать функции в С? ну не из каробки фича, но какая разница будет функция именованная или переменная. Что за шаблоны понятия не имею, но я и не программист.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

34. Сообщение от Аноним (34), 25-Янв-26, 11:39   +1 +/
Возможно они за Свободу?
В отличии от раковых запретительных лицензий.

Зачем поддерживать тех, кто запрещает, да еще и пахнет коммуняцкими лозунгами.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #51

35. Сообщение от Аноним (-), 25-Янв-26, 11:43   –1 +/
> Последний черновик ничем не отличается итогового стандарта

А как вы об этом узнали? Неужели купили "стандарт" и сравнили?))

> Неправда, все написанно очень понятно и подробно.

Очень подробно расписано "А вот х его знает что должно быть, поэтому пусть будет UB, а вы там как-то сами разберитесь. Главное чтобы это никогда не происходило, даже если это сложение двух чисел".

> ... если они используют собственные расширения компиляторов.

А зачем такому прекрасно продуманному йазычку понадобились какие-то там разрешения компиляторов? Причем такие простейшие как 128-bit Integers, Compound Literals и т.д. На момент добавления в расширения их в "стандарте" не было.

Или это был способ ЕЕЕшнуть ядро линя гнутыми копирастами?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #39, #54

36. Сообщение от Аноним (-), 25-Янв-26, 11:45   –2 +/
> Пермиссивщики враги копилефта.

Копилефт враг создателей и здравоого смысла. И друг потpe6лядей.
Во ты только что сказал "кто твой друг" и мы сразу поняли кто ты.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #43

37. Сообщение от Аноним (39), 25-Янв-26, 12:04   +/
Да, несколько. Но собрать GLibc способны не все из них. Например, TinyCC и SDCC не смогут.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

39. Сообщение от Аноним (39), 25-Янв-26, 12:11   +/
> А как вы об этом узнали? Неужели купили "стандарт" и сравнили?))

Как будто, купленное не утекает в торренты.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35

40. Сообщение от Аноним (39), 25-Янв-26, 12:16   +/
По поводу лицензии ты прав, все конкуренты должны иметь лицензию GPLv3+.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #68

42. Сообщение от Аноним (39), 25-Янв-26, 12:26   +1 +/
Ну макросы это уже какая-никакая подвижка в сторону шаблонов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #47

43. Сообщение от Аноним (39), 25-Янв-26, 12:30   +1 +/
Странно, а я всё думал, что потреbляди это те, кто жрут блобятину без разбору и им наплевать на открытость.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #44

44. Сообщение от Аноним (44), 25-Янв-26, 12:42   –1 +/
> и им наплевать на открытость

Как будто droч на "открытость" делает из потреbляди создателя.
Наоборот: как раз потреbляди люто-бешено бояться, что автор посмеет "закрыть" код. Или что еще хуже - попробует заработать на жизнь!
То что лицензия изменится только нового кода, а весь старый код остается под старой лицензией и останется доступен под старыми условиями их не волнует, потому что потреbлядь все равно не в состоянии ничего толкового с ним сделать. Зато очень-очень боится что он потеряет возможность пользоваться приложенькой. Поэтому он топит за "открытость" (по мнению мозолееда и его секты)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

45. Сообщение от Аноним (45), 25-Янв-26, 12:48   +/
"Настоящие" котируют только С89, остальные стандарты недостаточно проверены временем.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

46. Сообщение от Аноним (-), 25-Янв-26, 13:24   –2 +/
>мсвц

мерсавец

>С++ в первую очередь, там сишка по остаточному принципу.

У компилятора Майкрософта сишка застряла на древнем стандарте ANSI89. Майкрософт сам виноват, они думали что ООП-ешная C++ заменит Чистую-процедурную. Ошиблись, сейачс уже поздно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #50

47. Сообщение от Аноним (-), 25-Янв-26, 13:26   +/
Хочется шабонов - юзай С++, нефик трогать чистый Си.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42

48. Сообщение от Аноним (14), 25-Янв-26, 14:13   +/
>> заявляли тут, что ни перегрузки функций, ни шаблоны в языке не нужны. Оказалось, что таки нужны
> Где нужны?

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

> В твоих мечтах?

Как же тебя трясет, бедолагу. Что-то содержательное по теме обсуждения можешь сказать?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

49. Сообщение от Аноним (14), 25-Янв-26, 14:20   +/
Никто. Только речь не про это, если ты не заметил, а про подход комитета к "развитию" языка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

50. Сообщение от Аноним324 (ok), 25-Янв-26, 14:39   +2 +/
>>мсвц
> мерсавец
>>С++ в первую очередь, там сишка по остаточному принципу.
> У компилятора Майкрософта сишка застряла на древнем стандарте ANSI89. Майкрософт сам виноват,
> они думали что ООП-ешная C++ заменит Чистую-процедурную. Ошиблись, сейачс уже поздно.

Та не ошибались они, как показала практика С никому не нужен. А стандарт С89 полностью закрывает большую часть задач которые в теории могли бы оказатся в майкрософте. Всё равно основной язык платформы С# и Typescript, остальное абсолютно вторично. Тот же линукс вообще весь на питоне склеен, все сишные кривые кор технологии, обвязали в три слоя питоном, чтобы этим хоть как-то можно было пользоватся.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #53

51. Сообщение от Аноним (39), 25-Янв-26, 14:48   +/
Их свобода - свобода продаванов. А свобода кода их не заботит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #56

52. Сообщение от Аноним (14), 25-Янв-26, 14:56   +/
>> Стандарт платный.
> Общедоступный не означает на халяву. Тебе же никто до него доступ не закрыл.

Закрыли. За пйволом.

> Купи. Или ты коммуняка?

Купить бумажную версию не вопрос. Но ведь эти чудаки и за PDF деньги просят. Стандарты тех же ECMAScript, Ada и Fortran открыты и бесплатны, а тут за заплатки кривого копролита из 70х с горстки бедолаг, которые пишут компиляторы, тянут деньги за PDFку.

> GNU поощряет коммерцию

Хз, к чему ты приплел GNU.

> Комитет трудился, составлял Стандарт а ты хочешь забесплатно что-ли?

Наивный ты мой. Комитет почти целиком сосотоит из работников больших корпораций, которым работодатели проплатили все, начиная от самой работы и заканчивая перелетом на митинг и номеров в отелях. Или ты думал, они там из альтруистических целей пыхтят?

Вообще, удивительно, что ты не предлагаешь сделать платными сами компиляторы. Программисты трудулись же! GNU поощряет коммерцию! Успех будет гарантирован...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #62, #100

53. Сообщение от Аноним (39), 25-Янв-26, 15:00   +/
>Тот же линукс вообще весь на питоне склеен, все сишные кривые кор технологии, обвязали в три слоя питоном, чтобы этим хоть как-то можно было пользоватся.

Уточним, юзерспейс Линукса, конечно. Во многом - да, не на 100%, но во многом.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

54. Сообщение от Аноним (54), 25-Янв-26, 15:32   +1 +/
> х его знает что должно быть, поэтому пусть будет UB

А создатели стандарта и не обязаны за тебя додумывать, что ты там хоьел сделать. Тебя предупредили - если писать вот так, то будет УБ. Дальше - вопрос твоей состоятельности как программиста.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #58

55. Сообщение от Аноним (54), 25-Янв-26, 15:34   +1 +/
Столько языков придемали - бери и пиши на том, который нравится. Нет же, надо прибежать на опеннет поныть о том, какой Си плохой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #57

56. Сообщение от Аноним (56), 25-Янв-26, 15:47   +/
Код это не субьект, у него свободы быть не может.

Свобода может быть у человека.
И разрешительные лицензии дают больше свободы чем раковые запретительные.

Вот и всё, где свободы для программиста больше - там и лицензия свободная.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

57. Сообщение от Аноним (14), 25-Янв-26, 15:47   +/
> Нет же, надо прибежать на опеннет поныть о том, какой Си плохой.

Вообще-то обсуждение идет об упоротости стандарта, если ты не заметил. А то, что Си плохой - это не для кого давно не новость.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #67

58. Сообщение от Аноним (14), 25-Янв-26, 15:49   +/
> А создатели стандарта и не обязаны за тебя додумывать, что ты там хоьел сделать. Тебя предупредили - если писать вот так, то будет УБ.

Ага, пердупредили, что если сложить два инта - получишь UB. Действительно, что же я хотел сделать?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54 Ответы: #61, #66, #74

61. Сообщение от Аноним (61), 25-Янв-26, 16:56   +1 +/
Складывай уинты.

Там нет UB.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #63, #73

62. Сообщение от Аноним (62), 25-Янв-26, 16:58   +/
>Купить бумажную версию не вопрос. Но ведь эти чудаки и за PDF деньги просят.

На бумаге уже никто стандарты не печатает. Болезный, иди смени методичку.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

63. Сообщение от Аноним (14), 25-Янв-26, 17:04   +2 +/
Отличный совет. А отрицательные числа никому не нужны, я так понимаю?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61 Ответы: #72

64. Сообщение от Аноним (4), 25-Янв-26, 17:14   +/
При наличии стандарта, программа будет собираться абсолютно любым компилятором. Более того, при наличии стандарта, в случае, если llvm не в состоянии собрать программу, в этом самом llvm заводится баг, а не вставляется костыль в каждую отдельную прикладную программу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #93, #119

65. Сообщение от Bottle (?), 25-Янв-26, 17:19   +/
О да, анон, ты же потратил триста швейцарских франков для сравнения черновика и стандарта, да?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

66. Сообщение от Аноним (54), 25-Янв-26, 18:05   +/
Если у тебя знаний для твоей хотелки недостаточно - кто ж тебе виноват? Обмазывайся проверками, или используй либу для arbitrary precision integer arithmetics. Не умеешь - твоя проблема.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #75

67. Сообщение от Аноним (54), 25-Янв-26, 18:07   +1 +/
Столько языков придемали - бери и пиши на том, который нравится. Нет же, надо прибежать на опеннет поныть о том, какой стандарт упоротый.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #95

68. Сообщение от Анонимemail (68), 25-Янв-26, 18:33   +/
...чтоб скоммунизидить было проще
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #70

69. Сообщение от Кошкажена (?), 25-Янв-26, 18:58   +2 +/
> Мифология Си: Любой может написать компилятор, потому что у Си есть славный Стандарт!

Давайте посчитаем

1. gcc
2. clang
3. MSVC
4. tcc
5. lcc https://en.wikipedia.org/wiki/LCC_(compiler)
6. compcert https://compcert.org/
7. cproc https://sr.ht/~mcf/cproc/
8. scc https://www.simple-cc.org/
9. pacc https://github.com/BeRo1985/pacc
10. MesCC от проекта GNU Mes

Это просто, что певрое пришло в голову. Наверняка что-то еще есть.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #77, #87

70. Сообщение от Аноним (70), 25-Янв-26, 18:59   +/
Копилефт невозможно скомуниздить. Обыно коммуниздят пермиссивку, из которой делают закрытые форки. И даже если кто скомуниздит копилефт, то это означает прямое нарушение лицензии.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

71. Сообщение от Кошкажена (?), 25-Янв-26, 19:02   +/
> С с перегрузкой функций
> уже есть и называется от С++ 🤷♂

man 3 _Generic

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25

72. Сообщение от Кошкажена (?), 25-Янв-26, 19:06   +/
Для целых со знаком -fsanitize=undefined
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

73. Сообщение от Кошкажена (?), 25-Янв-26, 19:08   +/
Кстати, Страуструп и Google не советуют unsigned кроме кака для манипуляций с битами https://www.codegenes.net/blog/why-prefer-signed-over-unsign.../

Даже gsl::index - это алиас к ptrdiff_t, который знаковый, но хватает для представления size_t.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

74. Сообщение от Кошкажена (?), 25-Янв-26, 19:13   +/
> Ага, пердупредили, что если сложить два инта - получишь UB. Действительно, что же я хотел сделать?

А что хотел? wraparound? Для явных операций c проверкой от переполнения в с23 добавили <stdckdint.h>

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #79, #114

75. Сообщение от Аноним (14), 25-Янв-26, 19:14   +/
> Если у тебя знаний для твоей хотелки недостаточно - кто ж тебе виноват?

Меня умиляет, как ты пытаешься МЕНЯ обвинить в никчемности этого так называемого стандарта. Но вообще ты прав: без знания, как не вляпаться в очередное сишочное UB, заботливо разложенное дидами на каждом шагу, программировать на этом недоязыке невозможно.

> Обмазывайся проверками

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #110

76. Сообщение от Кошкажена (?), 25-Янв-26, 19:17   +/
> 3. Гигантское количество проектов собирается ровно одним компилятором. Поддержка второго
> компилятора там всегда экспериментальная. Например, хромиум

Это от проекта же зависит. У хромиума еще и своя система сборки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #78

77. Сообщение от Аноним (14), 25-Янв-26, 19:21   +/
>> Мифология Си: Любой может написать компилятор, потому что у Си есть славный Стандарт!
> Давайте посчитаем

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #82, #84

78. Сообщение от Аноним (14), 25-Янв-26, 19:22   +/
>> Поддержка второго компилятора там всегда экспериментальная. Например, хромиум
> У хромиума еще и своя система сборки.

При чем здесь система сборки, если он за компилятор говорит?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76 Ответы: #81

79. Сообщение от Аноним (-), 25-Янв-26, 19:23   +1 +/
> А что хотел?

Хотя бы implementation defined.
Чтобы был конечный список того, что может произойти.
А не "какая-то х-ня случится, в зависимости от компилятора, его версии, фазы луны и ретроградности меркурия".

> Для явных операций c проверкой от переполнения в с23 добавили <stdckdint.h>

И 50 лет не прошло... а нет, таки прошло)

Хотя если посмотреть на овнокодище в новости про Юникс4, где всем было просто класть на выходы за пределы буфера, то не удивительно.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74 Ответы: #80

80. Сообщение от Кошкажена (?), 25-Янв-26, 19:34   +/
>> А что хотел?
> Хотя бы implementation defined.
> Чтобы был конечный список того, что может произойти.
> А не "какая-то х-ня случится, в зависимости от компилятора, его версии, фазы
> луны и ретроградности меркурия".

Зависит от архитектуры.

>> Для явных операций c проверкой от переполнения в с23 добавили <stdckdint.h>
> И 50 лет не прошло... а нет, таки прошло)

Ничего не мешало до этого использовать другие решения.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79 Ответы: #83

81. Сообщение от Кошкажена (?), 25-Янв-26, 19:37   –1 +/
>>> Поддержка второго компилятора там всегда экспериментальная. Например, хромиум
>> У хромиума еще и своя система сборки.
> При чем здесь система сборки, если он за компилятор говорит?

Это к тому же "а почему бы им не поддержать условный cmake?". Не хотят и не поддерживают. Делает ли это cmake неиспользуемым? Нет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #92

82. Сообщение от Кошкажена (?), 25-Янв-26, 19:40   +/
>>> Мифология Си: Любой может написать компилятор, потому что у Си есть славный Стандарт!
>> Давайте посчитаем
> Ты сильно ошибаешься, если думаешь, что написать серьезный оптимизирующий компилятор чистой сишечки - тривиальная задача.

7, 8, 9 используют qbe. Сколько кода в нем, а также в cproc можете посмотреть. Никто не говорит, что задача простая. Об этом явно написано на главной qbe. Но не понимаю, что это мы плавно перешли от темы "релизовать стандарт" к теме "сделать супер быструю реализацию". Не надо так.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #88, #90

83. Сообщение от Аноним (83), 25-Янв-26, 19:43   +/
> Зависит от архитектуры.

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

Появилась новая архитектура?
Добавили в стандарт и задокументировали.

> Ничего не мешало до этого использовать другие решения.

Ничего не мешало костылять bool/gbool/pbool/...
Ничего не мешало делать тоннны костылей для работы с юникодом.
Ничего не мешало проверять выходы за пределы буфера и переполнения.

Код качественный правда не вышел.
Наверное что-то, таки да, мешало))


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80 Ответы: #85

84. Сообщение от Кошкажена (?), 25-Янв-26, 19:44   +/
>>> Мифология Си: Любой может написать компилятор, потому что у Си есть славный Стандарт!
>> Давайте посчитаем
> Все, что идет с позиции 4 и ниже, на практике можно только
> подтереться, потому что до уровня первой троицы в плане оптимизаций и
> поддержки платформ им как до луны.

Вот здесь вы можете ознакомиться с информацией https://compcert.org/man/manual001.html

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #91

85. Сообщение от Кошкажена (?), 25-Янв-26, 19:52   +1 +/
>> Зависит от архитектуры.
> Появилась новая архитектура?
> Добавили в стандарт и задокументировали.

Что вы собрались добавлять в стандарт при появлении новой архитектуры?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #86, #98

86. Сообщение от Аноним (-), 25-Янв-26, 20:10   +/
> Что вы собрались добавлять в стандарт при появлении новой архитектуры?

То как язык работает с этой архитектурой, очевидно.
Те самые варианты "чегось случится может" в implementation defined.

Например х86 дереференс null пережует без проблем, а вот в АРМ есть варианты и некоторые могут не понравиться)


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

87. Сообщение от Аноним (4), 25-Янв-26, 20:28   +/
>Давайте посчитаем

И сколько из этих компиляторов - игрушечные? В том плане, что их не хватит для компиляции системы с нуля, от ядра и станартной библиотеки, до прикладного софта? При этом на уровне оптимизации достаточной для повседневного использования.
>Наверняка что-то еще есть.

Конечно есть. Целая куча точно таких же игрушечных компиляторов, непригодных для любого использования.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #89

88. Сообщение от Аноним (4), 25-Янв-26, 20:35   +/
>Но не понимаю, что это мы плавно перешли от темы "релизовать стандарт" к теме "сделать супер быструю реализацию". Не надо так.

https://habr.com/ru/articles/592671/
>Например, выяснилось, что ядро Linux в принципе невозможно скомпилировать с отключенной оптимизацией (-O0).
>Предлагается только два варианта оптимизации: -O2 и -Os.
>Если ручками залезть в .config и Makefile и попытаться собрать ядро с флагом -O0, то сборка упадет с большим количеством сообщений об ошибке. Как выяснилось, это в принципе невозможно, поскольку оптимизация при сборке ядра используется для совершенно других целей, для которых флаги оптимизации не должны использоваться, а именно, для отключения не использующегося кода. Грязный хак, от которого, видимо, уже не избавиться. На наше счастье, кое кто до нас все таки озадачивался проблемой отладки ядра и даже написал патч, который позволяет собрать ядро с флагом -Og, но, почему-то, отклоненный сообществом. В итоге, пришлось его адаптировать вручную под наши исходники.

Это просто замечательно, когда ядро прибито не только к компилятору, но и к флагам сборки.

Сколько ещё таких вот костылей в сишном коде, которые делают перечисленные вами компиляторы непригодными для использования - открытый вопрос.
>Не надо так.

Надо. Си - это самый настоящий монстр, делающий любые сложные вещи невозможными.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #121

89. Сообщение от Кошкажена (?), 25-Янв-26, 20:35   +/
>>Давайте посчитаем
> И сколько из этих компиляторов - игрушечные? В том плане, что их
> не хватит для компиляции системы с нуля, от ядра и станартной
> библиотеки, до прикладного софта? При этом на уровне оптимизации достаточной для
> повседневного использования.

Mes + MesCC + Mes C Library can build a bootstrappable TinyCC that is self-hosting. Using this bootstrappable-tcc and the Mes C library we can build an ancient version of the GNU tools triplet: glibc-2.2.5, binutils-2.20.1, gcc-2.95.3. This is enough to bootstrap Guix for i686-linux, x8664-linux, armhf-linux and aarch64-linux.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87 Ответы: #96, #112

90. Сообщение от Аноним (14), 25-Янв-26, 20:39   +/
> Но не понимаю, что это мы плавно перешли от темы "релизовать стандарт" к теме "сделать супер быструю реализацию".

Нет, тема была не просто реализовать стандарт, а чтобы при этом получился юзабельный компилятор (выше говорилось "Гигантское количество проектов собирается ровно одним компилятором"). Ведь если ты реализуешь сугубо по стандарту, у тебя получится бесполезный огрызок (зато по стандарту!). Вот поэтому реальные проекты завязываются на конкретный компилятор, потому что в нем помимо нормальной оптимизации кода и поддержки платформ есть (а) фичи, которые расширяют недоязык и (б) средства для закупоривания дыр недоязыка (типа разных флажков компилятора для проверок на тот самый UB).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

91. Сообщение от Аноним (14), 25-Янв-26, 20:44    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84

92. Сообщение от Аноним (14), 25-Янв-26, 20:46   +/
> Не хотят и не поддерживают. Делает ли это cmake неиспользуемым? Нет.

Ты извини, но этот весь бред про системы сборки и CMake не имеет никакого отношения к теме о поддержке конкретного компилятора.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81 Ответы: #103

93. Сообщение от Аноним (14), 25-Янв-26, 20:48   +/
> При наличии стандарта, программа будет собираться абсолютно любым компилятором.

Ну да: главное, что собираться будет. А то, что вести будет по-разному, натыкаясь UB - это уже мелочи.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64 Ответы: #99

95. Сообщение от Аноним (14), 25-Янв-26, 23:48   +1 +/
> бери и пиши на том, который нравится. Нет же, надо прибежать на опеннет поныть о том, какой стандарт упоротый.

Так я и пишу, лол. Только это не отменяет того факта, что стандарт упоротый.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

96. Сообщение от Аноним (96), 26-Янв-26, 00:00   +/
>>>Давайте посчитаем
>> И сколько из этих компиляторов - игрушечные? В том плане, что их не хватит для компиляции системы с нуля, от ядра и станартной библиотеки, до прикладного софта? При этом на уровне оптимизации достаточной для  повседневного использования.
> Mes + MesCC + Mes C Library can build a bootstrappable TinyCC

"С помощью этих компиляторов мы можем бутсрапнуть gcc и потом собрать все им!" ... не, ну чисто формально верно, но сильно смахивает на жонглирование формулировками. Ты попробуй tinyCC хотя бы юзерлэнд собрать. Ядро, glibc, GTK там с WM.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #102

97. Сообщение от Аноним (-), 26-Янв-26, 00:49   +/
> 1. Стандарт платный. Странная особенность для вроде бы "открытого" "общедоступного" языка.

Да, давайте проверим реальность! Прямо в шапке новости - нам светит ссыль на https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf - видимо это какой-то недостаточно стандартный стандарт.

> 2. Стандарт состоит из: а) оглавления, б) undefined behavior. Больше там ничего нет.

Поэтому вон те господа не сделали вообще никакого стандарта, ибо не смогли даже так. Значит они - еще большие лузеры чем эти? :)

> 3. Гигантское количество проектов собирается ровно одним компилятором. Поддержка второго
> компилятора там всегда экспериментальная.

И это говорит адепт какого языка? С сколько именно реализациями, например? Ну так, для сравнения. Интересно же - а кто те герои которые якобы смогли, якобы лучше? Где они и как выглядят? Пусть ответят - прям по пунктам reality check? Мы применим к ним точно те же стандарты и посмотрим как они удержатся против такой проверки и как сие в сравнении! :)

Фишка в том что нельзя быть хорошим или плохим. Это абстрактно. Можно быть лучше или хуже кого-то по тем или иным параметрам. Параметры у нас есть. Кто предлагается как объект для сравнения по этим критериям? Ессно с ожиданием что они - смогли лучше.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #111

98. Сообщение от Аноним (98), 26-Янв-26, 00:51   +/
ЯП должно быть до лампочки какая там архитектура, это проблемы компилятора как он будет представлять тот или иной тип на той или иной архитектуре.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

99. Сообщение от Аноним (-), 26-Янв-26, 00:52   +/
> Ну да: главное, что собираться будет. А то, что вести будет по-разному,
> натыкаясь UB - это уже мелочи.

Это баги программы в общем то. А вы что предлагаете? Забить на стандарты вообще и вертухаться как флюгер на ветру под очередные причуды какой-то горстки хипстеров нанятых стремноватыми манагерами полутора корп? Так только питон какой получается. Весьма такой характерный, с периодом полураспада софта на этом в год. Так что большая часть софта - одноразовые макеты.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93 Ответы: #109

100. Сообщение от Аноним (100), 26-Янв-26, 02:54   –1 +/
>Вообще, удивительно, что ты не предлагаешь сделать платными сами компиляторы.

Почему если работяга на стройке работает, то его работодатель платит за инструменты, если работяга работает на себя, то он покупает из своего кармана. Логично платить и за компилятопф и за скомпилированные программы процент.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

102. Сообщение от Кошкажена (?), 26-Янв-26, 07:06   +/
>>>>Давайте посчитаем
>>> И сколько из этих компиляторов - игрушечные? В том плане, что их не хватит для компиляции системы с нуля, от ядра и станартной библиотеки, до прикладного софта? При этом на уровне оптимизации достаточной для  повседневного использования.
>> Mes + MesCC + Mes C Library can build a bootstrappable TinyCC
> "С помощью этих компиляторов мы можем бутсрапнуть gcc и потом собрать все
> им!" ... не, ну чисто формально верно, но сильно смахивает на
> жонглирование формулировками.

Почему? Вы же утверждали, что им ничего не собрать. А тут оказыается можно gcc собрать.

> Ты попробуй tinyCC хотя бы юзерлэнд собрать. Ядро, glibc,
> GTK там с WM.

Выше же написано, что glibc собирается.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96 Ответы: #107

103. Сообщение от Кошкажена (?), 26-Янв-26, 07:11   +/
>> Не хотят и не поддерживают. Делает ли это cmake неиспользуемым? Нет.
> Ты извини, но этот весь бред про системы сборки и CMake не
> имеет никакого отношения к теме о поддержке конкретного компилятора.

Утверждается, что chromium поддерживает 1 компилятор условно. Значит остальные не нужны? Это не правда.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #92 Ответы: #108

104. Сообщение от Sm0ke85 (ok), 26-Янв-26, 08:48   +/
>Ну и где настоящие сишники, когда они так нужны? Кто там рассказывал, что у си несколько компиляторов?

Что тебя возмущает/удивляет...? Мысль сформулируй...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

107. Сообщение от Аноним (107), 26-Янв-26, 09:48   +/
> Почему? Вы же утверждали, что им ничего не собрать. А тут оказыается можно gcc собрать.

Ага, но только древнюю версию gcc-2.95.3. Читай свою же цитату внимательнее.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102

108. Сообщение от Аноним (107), 26-Янв-26, 10:02   +/
> Утверждается, что chromium поддерживает 1 компилятор условно. Значит остальные не нужны? Это не правда.

Это значит, что именно Cromium остальные не нужны.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #103

109. Сообщение от Аноним (107), 26-Янв-26, 10:05   +/
> А вы что предлагаете? Забить на стандарты вообще

Нет, предлагать что-то уже давно поздно. А лет эдак 30 назад вполне можно было предложить развивать язык по-человечески, а не продолжать этот цирк с кривыми нашлепками под названием "стандарт".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #99

110. Сообщение от Аноним (54), 26-Янв-26, 10:25   +/
А кто ещё виноват в том, что ты либо выбрал неправильный инструмент, либо не умеешь им пользоваться?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #115

111. Сообщение от Аноним (111), 26-Янв-26, 10:49   +/
> Да, давайте проверим реальность! Прямо в шапке новости - нам светит ссыль на https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf - видимо это какой-то недостаточно стандартный стандарт

Да, давай проверим! Открываем первую страницу, а там... draft! Ой, нехорошо вышло.

>> 2. Стандарт состоит из: а) оглавления, б) undefined behavior. Больше там ничего нет.
> Поэтому вон те господа не сделали вообще никакого стандарта, ибо не смогли даже так.

Почему же не сделали? Открываешь стандарты ECMAScript, Ada, Fortran и смотришь, как выглядит нормальный стандарт, а не "та мы сами хз, как должно быть 🤷".

>> 3. Гигантское количество проектов собирается ровно одним компилятором. Поддержка второго компилятора там всегда экспериментальная.
> И это говорит адепт какого языка? С сколько именно реализациями, например? Ну так, для сравнения. Интересно же - а кто те герои которые якобы смогли, якобы лучше?

Твои попытки съехать на какой-то другой язык выглядит очень мило, но ты не уловил смысл его посыла. А был он в том, что качество и польза сишочного стандарта околонулевая, ибо в рельных проектах людям приходиться использовать специфичные для компилятора фичи и тучу левых тузов (санитайзеров, анализаторов и т.п.), чтобы писать на этом языке хоть что-то внятное. Сишный стандарт, видишь ли, в этом никак не помогает.

> Фишка в том что нельзя быть хорошим или плохим.

Конечно можно. Когда у тебя в так называемом "стандарте", да еще и в очереднойего итерации 202* года, все обмазано "да мы и сами хз, как оно должно быть, делайте, как хотите" - это туалетная бумага, а стандарт. Тут даже не нужно ни с чем сранвивать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97

112. Сообщение от Аноним (4), 26-Янв-26, 10:57   +/
>we can build an ancient version of the GNU tools triplet
>Почему? Вы же утверждали, что им ничего не собрать. А тут оказыается можно gcc собрать.

Вам прямо говорят, что сборка возможна только для древних версий. Следовательно, новые версии собрать невозможно. Следовательно, даже так, это игрушечные компиляторы, не способные собрать даже базовое сборочное окружение. Про сборку всего остального, вроде linux можно даже не спрашивать. Как итог, минимум два пункта из вашего списка можно сразу же вычёркивать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #113

113. Сообщение от Кошкажена (?), 26-Янв-26, 11:02   +/
>>we can build an ancient version of the GNU tools triplet
>>Почему? Вы же утверждали, что им ничего не собрать. А тут оказыается можно gcc собрать.
> Вам прямо говорят, что сборка возможна только для древних версий. Следовательно, новые
> версии собрать невозможно. Следовательно, даже так, это игрушечные компиляторы, не способные
> собрать даже базовое сборочное окружение.

Они для бутстрапа используются и понятно, что они не замена gcc в плане оптимизаций. Введите определение игрушечного компилятора?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #116

114. Сообщение от Аноним (4), 26-Янв-26, 11:02   +/
>А что хотел?

Ну желательно, чтобы в 2026 году всё-таки выкинули язык из 1970-ых, и стандартизировали какое-то одно, предельно конкретное поведение. А то получается, что кто-то с альтернативным видением нормального решил более чем полвека назад наклепать кучу разнообразных архитектур, чтобы никому скучно не было, большинство из которых уже давным-давно исчезла, а мы сейчас из-за них страдаем.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

115. Сообщение от Аноним (4), 26-Янв-26, 11:06   +/
Сначала одни с алтернативным чувством нормы - железячники в прошлом наклепали кучу архитектур, затем вторые с альтернативным чувством нормы создали стандарт, где куча UB. Могли бы сразу сказать: си требует от процессора флаг переполнения, например. И всё, и поведение определено, и железячники не будут распускаться. Всё равно большая часть архитектур вымерла.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

116. Сообщение от Аноним (4), 26-Янв-26, 11:29   +/
>Они для бутстрапа используются

Их невозможно использовать для бутстрапа в том виде, в котором обычно подразумевают. Вот появилась новая архитектура, типа risc5, пусть будет risc6. Её поддержки нет ни в glibc, ни в gcc, ни в linux. Если вы захотите бутстрапить, ассемблер risc6 -> mes -> tinycc -> gcc, то придётся вначале вносить патчи в gcc2, потом портировать на gcc3 и так вплоть до текущей версии, условно до gcc15. Однако, кроме gcc, придётся точно так-же патчить давным-давно устаревшие версии linux и прочего окружения. Это долго. По этому, куда проще будет взять текущий условно gcc15, и сразу прямо в него добавлять поддержку этой новой архитектуры в существующий код, и получится условно amd64 gcc15 -> risc6 gcc15. Здесь нет никакого бутстрапа, и подход ничем принципиально не отличается от условного раста.
>они не замена gcc в плане оптимизаций

При чём здесь оптимизация, если они вообще не компилируют современное окружение?
>Введите определение игрушечного компилятора?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113 Ответы: #118

117. Сообщение от Аноним (117), 26-Янв-26, 11:39   +/
>На системах x86 добавлена поддержка процессоров Intel Nova Lake и Wildcat Lake.

Тут что-то не то. Какое отношение библиотека Си имеет к архитектуре CPU? Си -- язык переносимый, он на всех архитектурах работает, главное чтобы компилятор поддерживал.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #123

118. Сообщение от Кошкажена (?), 26-Янв-26, 12:24   +/
>[оверквотинг удален]
> нет ни в glibc, ни в gcc, ни в linux. Если
> вы захотите бутстрапить, ассемблер risc6 -> mes -> tinycc -> gcc,
> то придётся вначале вносить патчи в gcc2, потом портировать на gcc3
> и так вплоть до текущей версии, условно до gcc15. Однако, кроме
> gcc, придётся точно так-же патчить давным-давно устаревшие версии linux и прочего
> окружения. Это долго. По этому, куда проще будет взять текущий условно
> gcc15, и сразу прямо в него добавлять поддержку этой новой архитектуры
> в существующий код, и получится условно amd64 gcc15 -> risc6 gcc15.
> Здесь нет никакого бутстрапа, и подход ничем принципиально не отличается от
> условного раста.

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #116 Ответы: #125

119. Сообщение от Аноним (119), 26-Янв-26, 12:42   +/
>если llvm не в состоянии собрать программу, в этом самом llvm заводится баг, а не вставляется костыль в каждую отдельную прикладную программу.

А потом ждётся ГОД до следующего релиза, за который твоя аппаратная платформа устареет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

120. Сообщение от Аноним (-), 26-Янв-26, 12:44   +/
>Ты самый главный пункт забыл: дырявый горе-дизайн, который прописан прямо в стандарте

Сидишь пишешь всякую пургу. Может у тебя самого задница дырявая. На сегодня Си самый лучший и оптимальный язык программирования.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

121. Сообщение от Аноним (-), 26-Янв-26, 12:46   +/
>Си - это самый настоящий монстр, делающий любые сложные вещи невозможными.

С Си всё возможно. Просто ты не осилил процедурную парадигму.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88

123. Сообщение от Аноним (-), 26-Янв-26, 12:55   +/
Мне кажется, в новой версии включена поддержка новых процессорных инструкций в исходных кодах библиотек. Типа когда ты компилируешь glibc в системе с процессорами Intel Nova Lake и Wildcat Lake, в бинарях активируется поддержка процессорных инструкций характерных для Intel Nova Lake и Wildcat Lake.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117 Ответы: #124

124. Сообщение от Аноним (124), 26-Янв-26, 13:06   +/
Там dynamic dispatch.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123

125. Сообщение от Аноним (4), 26-Янв-26, 14:03   +/
Всё равно, это абсолютно ничем не лучше раста. Раст первоначально написан на Ocaml, как следствие, для сборки раста с самого нуля текущий бинарник не нужен. И как вам всё равно придётся собирать промежуточные версии gcc, точно так же придётся собирать промежуточные версии rust-а.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #118

126. Сообщение от Аноним (126), 26-Янв-26, 16:05   +/
> Складывайте как хотите. int + int это undefined behavior

Знаешь почему? Это определяется архитектурой CPU, а не хотелками разработчика языка.
Если у тебя проц 9-битный с «+0» и «-0» (т.е. с обратным кодом, а не дополнительным)... ну никак не получится максимально быстро «сложить 2 числа строго следуя стандарту» и при этом в одну инструкцию (которая на CPU работает не так как хотели разработчики стандарта языка).

И все размеры char/int/short/long неопределённые. Это типы не для кроссплатформенной сериализации, а для быстрой обработке родных данных.

Отсюда же (от архитектуры CPU) и неопределенное поведение при сдвиге на 0 бит, или при сдвиге знаковых чисел и т.д.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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