The OpenNET Project / Index page

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



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

"Выпуск системной библиотеки Glibc 2.35"  +/
Сообщение от opennews (ok), 03-Фев-22, 18:04 
После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library (glibc) 2.35, которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2017. В состав нового выпуска включены исправления от 66 разработчиков...

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

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

Оглавление

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

1. Сообщение от макпыф (ok), 03-Фев-22, 18:04   +/
>  Добавлена поддержка локали "C.UTF-8"

Она же вроде давно была?

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

2. Сообщение от Аноним (2), 03-Фев-22, 18:05   +1 +/
Она отдельной надстройкой в дистрибутивах добавлялась, а сейчас встроена в Glibc.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #3, #4

3. Сообщение от Аноним (3), 03-Фев-22, 18:07   –13 +/
а как ее убрать обратно? просто не всем нужен юникод, тем более если сидишь в ядерной консоли (поставил зеленые буквы кстати)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #7, #14, #15, #16

4. Сообщение от макпыф (ok), 03-Фев-22, 18:11   –1 +/
> Она отдельной надстройкой в дистрибутивах добавлялась

Вы про localedef?

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

5. Сообщение от Смузихлёб (?), 03-Фев-22, 18:32   –10 +/
Библиотеки не нужны. Бинарник должен быть самодостаточным, как это было в DOS'е (золотое время, эх…).
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #9, #11, #42, #57

6. Сообщение от Аноним (3), 03-Фев-22, 18:36   +12 +/
Зажигалки не нужны. Человек должен быть самодостаточным, как это было в палеолите (золотое время, эх…).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #46

7. Сообщение от Урри (ok), 03-Фев-22, 18:37   +4 +/
Просто не используй.

А кому надо - те будут использовать.

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

8. Сообщение от Аноним (3), 03-Фев-22, 18:42   –7 +/
я за чистоту и минимализм, ничего лишнего быть не должно
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #10, #12, #24, #31, #45, #50

9. Сообщение от Урри (ok), 03-Фев-22, 18:43   +2 +/
В DOSе бинарник не был самодостаточным. Например, для использования мыши надо было грузить библиотеку мыши и юзать экспортируемые ею функции через INT33.

Желающие глубже ознакомиться с темой отправляются, например, на http://www.gabrielececchetti.it/Teaching/CalcolatoriElettron... (ну или к книгам, у меня пара томов лежит с описанием всевозможных интов).

А еще были оверлеи...

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

10. Сообщение от Аноним (10), 03-Фев-22, 18:47   +6 +/
Используй мюсли.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

11. Сообщение от Аноним (14), 03-Фев-22, 18:47   +2 +/
ДОС однозадачный, и там пофиг, что одна программа займёт всю память. А что будет, если все нынешние приложения скомпилировать статически? Либо 128 гигов рамы стаь, либо вечный своп.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #18, #19, #26, #36

12. Сообщение от Аноним (12), 03-Фев-22, 18:48   +3 +/
Тогда используй другую реализацию. Glibc это не про чистоту и минимализм, кмк
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

13. Сообщение от Аноним (-), 03-Фев-22, 18:51   –4 +/
>В функции семейства printf добавлены спецификаторы формата "%b" и "%B" для вывода целых чисел в двоичном представлении.

Оу щет! Для вывода двоичного кода исторически использовался какой-то трюк с битовыми сдвигами. В Стандартной библиотеке 2011 года новый спецификатор? Неожиданно. Сишка медленно изменяется.

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

14. Сообщение от Аноним (14), 03-Фев-22, 18:51   +1 +/
>Локаль занимает около 400 КБ, из которых 346 КБ составляют данные LC_CTYPE для Unicode, и требует отдельной установки (не встроена в Glibc).

КО: Не ставь.

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

15. Сообщение от Аноним (14), 03-Фев-22, 18:52   +2 +/
>если сидишь в ядерной консоли (поставил зеленые буквы кстати)

Как без прокрутки живётся-то?

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

16. Сообщение от Аноним (-), 03-Фев-22, 19:03   +/
>а как ее убрать обратно?

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

Если вы про ядро, то в ядре давным давно UTF-8. UTF-8 придумали отцы юниксоиды Кен Томпсон и Роб Пайк, в него ASCII входит как подмножество, в виде первого блока символов.

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

18. Сообщение от Аноним (18), 03-Фев-22, 19:32   –1 +/
Нужных приложений одновременно в пределах 10 обычно запущено, так что большого оверхеда не будет.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #48

19. Сообщение от Аноним (19), 03-Фев-22, 19:34   –4 +/
>Либо 128 гигов рамы стаь

Вы против технического прогресса? Вы неолуддит?

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

20. Сообщение от Аноним (20), 03-Фев-22, 19:36   +1 +/
В генту убрали юз custom-cflags на крайнем ебилде. Печаль, всего-то надо было убедится что -fsemantic-interposition включен. Мейнтейнеры генту сломали мне глибц своей libxcrypt, теперь вместо того чтобы разгребать свои косяки решили вообще сделать вид что так и надо.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #22

21. Сообщение от Неуклюжий танцор (?), 03-Фев-22, 19:39   +3 +/
> В функции семейства printf добавлены спецификаторы формата "%b" и "%B" > для вывода целых чисел в двоичном представлении.

Лучше поздно, чем никогда

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

22. Сообщение от Аноним (20), 03-Фев-22, 19:42   +1 +/
Ещё они в прошлом году сломали песочницы браузеров (фф и хрома, опять же через кривую glibc), теперь притянули сотню перловых пакетов непонятно зачем и какие-то инсталляторы питона. Никогда желание найти дистрибутив с более квалифицированными мейнтейнерами не было так велико. Правда, подозреваю что там не лучше и вариантов вообще не будет, тут как-то всё работает ещё.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #107

23. Сообщение от OpenEcho (?), 03-Фев-22, 19:51   –6 +/
> Лучше поздно, чем никогда

И спасибо что реализованно не через dlopen(), а то эта "свободная" библиотека не может жить без опоры на зависимости, такое у нее понимание свободы

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

24. Сообщение от Kusb (?), 03-Фев-22, 20:05   +2 +/
По моему я тебя знаю.
:)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #30

25. Сообщение от Kusb (?), 03-Фев-22, 20:09   +/
Я как консерватор против неолуддитов и за старых луддитов.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #27

26. Сообщение от Аноним (26), 03-Фев-22, 20:15   –1 +/
> 128 гигов рамы ставь

Надо писать программы на С и tui, а не эти ваши электроны... и 640 кб хватит всем.

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

27. Сообщение от Аноним (27), 03-Фев-22, 20:42   +1 +/
Вам срочно нужно выкинуть унитаз! Это все происки смузихлебов!
Лучше дыры в полу, только дыра в полу во дворе! Нечаво еще и трубы в дом тащить!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #34

28. Сообщение от bircoph (ok), 03-Фев-22, 20:51   +7 +/
Почему без?
man screen
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

29. Сообщение от Аноним (29), 03-Фев-22, 21:04   –1 +/
640 не хватит, но хватит гораздо меньше, конечно, чем пожирают современные десктопы.

Кстати, TUI DE ещё не изобрели? :)

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

30. Сообщение от Массоны Рептилоиды (?), 03-Фев-22, 21:05   +1 +/
KOI8-R?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #60, #69

31. Сообщение от Массоны Рептилоиды (?), 03-Фев-22, 21:07   +3 +/
> я за чистоту и минимализм, ничего лишнего быть не должно

От прокладки между креслом и клавиатурой не пытался избавиться?

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

32. Сообщение от Аноним (26), 03-Фев-22, 21:41   +1 +/
> Кстати, TUI DE ещё не изобрели?

https://github.com/netxs-group/vtm

Не на все задачи текстового интерфейса хватит, но на офисы и почты вполне достаточно.

И на какие-нибудь автоматизированные системы тоже. Бухгалтерии, формы налоговые, таможенные и так далее...

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

33. Сообщение от муу (?), 03-Фев-22, 21:41   +/
патч есть левый который дистры накладывали
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #35

34. Сообщение от Аноним (-), 03-Фев-22, 21:44   +/
> Вам срочно нужно выкинуть унитаз! Это все происки смузихлебов!
> Лучше дыры в полу, только дыра в полу во дворе!

Унитазу уже не одна сотня лет, вообще-то. Так что попробуй еще раз.

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

35. Сообщение от макпыф (ok), 03-Фев-22, 21:52   –1 +/
> патч есть левый который дистры накладывали

У меня ни каких патчей нет

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

36. Сообщение от Смузихлёб (?), 03-Фев-22, 21:58   +/
> 128 гигов рамы

Практически современный стандарт. У меня вон 64 гига, добрую половину которых съедают вкладки браузера. А если серьезно, под банарником имелось ввиду отсылка к контейнерам типа AppImage. История развивается по спирали.

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

37. Сообщение от Аноним (37), 03-Фев-22, 21:59   –4 +/
Обьясните не сведующему, почему мир использует C только в системных утилитах, но не использует его во всем остальном, используя php, java и другие быдло языки. Это же идеальный язык. А для тех кто не хочет работать с памятью придумыли rust и go. Зачем нам другие языки, если этих трех для всего хватит?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #40, #43, #44, #47, #65, #81

38. Сообщение от муу (?), 03-Фев-22, 22:08   +2 +/
И мозгов тоже.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #39

39. Сообщение от макпыф (ok), 03-Фев-22, 22:10   –2 +/
> И мозгов тоже.

Похоже что у тебя.

./configure <...>
make
make install
localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true

Все работает. export LANG=C.UTF-8

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

40. Сообщение от Аноним (27), 03-Фев-22, 22:47   +3 +/
Круто ты так с++ и java в быдлоязыки записал...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #49, #66, #68

41. Сообщение от Аноним (41), 03-Фев-22, 22:52   +/
Это не tui
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

42. Сообщение от _kp (ok), 04-Фев-22, 00:03   +/
Snap Вам в помощь ;)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

43. Сообщение от Аноним (-), 04-Фев-22, 00:22   +3 +/
>  почему мир использует C только в системных утилитах, но не использует

Сотря в каком мире. В моем используется и аж бегом.

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

44. Сообщение от Познавший дзен разработки на C (?), 04-Фев-22, 00:53   –5 +/
Идеальный язык для отстрела ног. Мамкины самоделкины и бОльшая часть "профессиональных" сишников считают его "кроссплатформенным ассемблером", а он таким не является с выхода ANSI C.

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

Плюс к этому Си (как и его гибрид с паскалем golang) ужасно многословен.

Вот и получается, что сложные и объемные приложения на Сях это или сложные и нечитаемые нагромождения указателей на указателм на всякие GObject, и такой код получается жутко медленным, либо еще менее читаемые нагромождения макросов, но тут хотя бы производительность ничего такая. До первого UB, ломающего код собранный с -O1/-O2.

Бойтесь сишников с сишного кода в объемах от 10Kloc.

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

45. Сообщение от Урри (ok), 04-Фев-22, 01:06   +/
я тоже, как ни странно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

46. Сообщение от заминированный тапок (ok), 04-Фев-22, 01:08   +3 +/
комментаторы опенету не нужны, статьи должны быть самодостаточными и включать все необходимые комментарии
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

47. Сообщение от Аноним (47), 04-Фев-22, 01:14   +13 +/
В основном, потому что в других местах скорость разработки важнее скорости выполнения. Всё зависит от задач. Я так понимаю, что вы спрашиваете, потому что никогда не разрабатывали в рамках MDM (Master Data Management). C, как впрочем и С++ - это сущий ад, когда приложения работает только с нормативно-справочной информацией.

Давайте представим себе что-нибудь совершенно простенькое. Например небольшую федеральную компанию хотя бы с 80 подразделениями по оптовой торговле, 150-ю розничными точками и собственным отделом логистики. И пусть в ней работает, пусть, 2000 человек. =) Наводящий вопрос. При разработке системы управления предприятием, которая занимается бухгалтерским, налоговым, управленческим, кадровым и складским учетом, строит OLAP-отчеты и так далее и тому подобное... вот вы про какие там указатели будете думать?

Люди пишут ОС на С, прикладной софт и куски юзерспейса, которым нужно ООП на С/С++, но когда дело доходит до MDM, автоматизации бизнес-процессов и потоковой обработки бизнес-данных народ используют чистые ООП-языки вроде C# и Java. Языки вроде PHP доросли до современного уровня не сразу, изначально PHP вообще мало что мог (версия 4), язык для быстрого клепания веб-страничек. Это потом он дорос до того, что из себя представляет. В принципе, на На C# и Java можно написать сайт, но там для этого целые отдельные пайплайны (JSP и ASP.NET).

С веб-ом то же самое, что и с MDM. Никто не запрещает писать CGI-приложения на С. Более того, их постоянно пишут для того чтобы ускорить выполнение того или иного вебсервиса на конкретном физическом сервере. Опять же, это всё внутреннее, серверное, спрятанное за двумя проксями. Это не маленький сайтик во внешнем интернете.

Язык С используется в системных утилитах только в современных Unix-подобных ОС. В Windows, например, на С написано только ядро и то только его основная часть (у этого ядра несколько другая архитектура, оно не совсем монолитное) юзерспейсная часть и системные утилиты на С++ и С#.

Язык программирования - это как иностранный язык. Вопрос не в том, насколько хорошо он устроен с точки зрения лингвистики и информатики, а в том, насколько хорошо ВЫ на нём думаете. Скажем так, лучше очень хорошо знать С# и Java чем плохо знать C и C++.

Обычно подобные вопросы возникают у студентов, которые только-только один язык выучили (ну как выучили, их пузырьком сортировать научили), сравнили с парочкой других и разыгралась буря в стакане... максимализм, синдром утёнка, ложное ощущение собственного превосходства и прочие неуместные эмоции, которые лучше бы прятать. С - это язык структурный и императивный язык, главной особенностью которого является возможность транслировать его в машинные команды напрямую. Идеального в нем ничего нет, наоборот, там одно сплошное "undefined behaviour". Вообще ничего идеального в мире не существует. В реальности все работает иначе, когда время разработки играет роль. На бизнес-задачах С проиграет почти всегда. С++ даст буст в скорости разработке при точечном применении, но там кодовую базу поддерживать - мучение. Нужны специально обученные люди на code review и запрет на использования 50% синтаксических конструкций. А если нужно и этого избежать, добавить переносимость, то вот вам и C# и Java. А если требуется только автоматизация и сценарии, то и они слишком низкоуровневые... и так далее.

А вообще, вы поймете сами, когда выучите хотя бы 5-6 языков на базовом уровне и возьмете по каждому хотя бы парочку реальных проектов. Вот задачка. Напишите мне реализацию удаленного вызова процедур, когда у вас есть 3 сервера. Вам по событию на первом нужно переслать объект (структуру, если так приятнее) на второй и вызвать там функцию. А второй сервер её обработает вам и пошлет данные обратно, но только при условии, если у вас есть авторизация. Авторизацию проводит третий сервер, он... Kerberos KDC. Или если такой сценарий сложный, можете написать RESTful-вебсервисами (но только чур на С, через CGI) и тогда у вас третий сервер будет авторизовывать по OAuth2. А если и это не подходит, то давайте SOAP и SAML, но только чур не тащить реализации XML-библиотек из Java. Обычно об этот вопрос сишники-студенты у которых всё остальное "быдло языки" быстро спесь и величие сбивают, когда за пару недель не способны ничего рабочего.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #51, #56, #61, #97, #101, #106

48. Сообщение от Аноним (48), 04-Фев-22, 01:31   +4 +/
А приложения тебя справивают, нужны ли они тебе? Покажика ps aux.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

49. Сообщение от Прохожий (??), 04-Фев-22, 01:34   +2 +/
C++ таки быдлоязык. Линус Торвальдс не даст соврать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #91

50. Сообщение от Аноним (50), 04-Фев-22, 01:45   +1 +/
>Glibc
>чистота и минимализм

/0

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

51. Сообщение от Ordu (ok), 04-Фев-22, 01:52   –2 +/
> Обычно об этот вопрос сишники-студенты у которых всё остальное "быдло языки" быстро спесь и величие сбивают, когда за пару недель не способны ничего рабочего.

Напомнило: http://catb.org/~esr/writings/unix-koans/ten-thousand.html

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

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

52. Сообщение от Протогонист (?), 04-Фев-22, 02:03   +/
ещё много работы, однако хороший и годный релиз
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #73

53. Сообщение от Ananimasss (?), 04-Фев-22, 02:15   –1 +/
во времена доса был turbo vision, исходники которого были порно для глаз.
но до ДЕ оно не дожило, шиндовс 3.11, а следом и 95 похоронили все затеи на корню.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

54. Сообщение от муу (?), 04-Фев-22, 02:19   +2 +/
это не локаль, а костыль васянский какойто

вот более правильный костыль от бородатых дядь https://src.fedoraproject.org/rpms/glibc/blob/f35/f/glibc-c-...

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

55. Сообщение от муу (?), 04-Фев-22, 02:21   +/
ЗЫ патч выше это по сути то что в glibc замерджили, о чём и речь в новости

ранее использовался чуть более другой патч https://src.fedoraproject.org/rpms/glibc/blob/f34/f/glibc-c-...
патч использовался и в дебианах/убунтах

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

56. Сообщение от Аноним (57), 04-Фев-22, 02:52   +4 +/
Тот редкий случай, когда комментарий анонима в 100500 ценнее, чем комментарии всех зарегистрированных пользователей.

Для меня тут ничего нового нет, но, надеюсь, новички прочитают и проникнутся.

Спасибо!

// b.

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

57. Сообщение от Аноним (57), 04-Фев-22, 02:57   +3 +/
Редкостный по силе идиотии комментарий.

Shared libraries:

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

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

// b.

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

58. Сообщение от псевдонимус (?), 04-Фев-22, 03:05   +1 +/
Сколько же у тебя вкладок?! У меня на телефоне с двумя гигами 6 штук открыто.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

59. Сообщение от Аноним (59), 04-Фев-22, 03:19   +1 +/
> В DOS бинарники были полные программы на ASM

А других языков в DOS небыло?

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

60. Сообщение от Аноним (60), 04-Фев-22, 03:20   +1 +/
Эдик, ты?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #74

61. Сообщение от Аноним (59), 04-Фев-22, 03:24   –1 +/
У вас java головного мозга.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

62. Сообщение от Аноним (62), 04-Фев-22, 03:27   +2 +/
> уменьшают ... уменьшают ... обновлять

У современных железо-софто-бизнес-манагеров задачи прямо противоположные.

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

63. Сообщение от Аноним (63), 04-Фев-22, 04:05   +/
Ну будьте снисходительны. Некоторые с ним ознакомились не так и давно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

64. Сообщение от Аноним (63), 04-Фев-22, 04:18   +/
Современный стандарт — 8-16. Техногики не в счёт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #99

65. Сообщение от Аноним (63), 04-Фев-22, 04:19   –1 +/
> Это же идеальный язык

Поперхнулся чаем.

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

66. Сообщение от Аноним (-), 04-Фев-22, 05:43   +3 +/
Си плюс-плюс он вообще не упомянул, побрезговал.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

67. Сообщение от Тот_Самый_Анонимус (?), 04-Фев-22, 05:50   –2 +/
>в него ASCII входит как подмножество, в виде первого блока символов

И в этом минус. Стандарт отжил своё, но его тянут для совместимости, и этот костелизм тянет юникод вниз. Потому эта кодировка не станет последней и окончательной.

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

68. Сообщение от Аноним (68), 04-Фев-22, 06:02   +/
Java это С++--
Он сделан чтобы быть проще С++, чтобы решить многие его проблемы
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #108

69. Сообщение от Аноним (69), 04-Фев-22, 06:16   +1 +/
массоны = массивные масоны ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

70. Сообщение от Анонимemail (70), 04-Фев-22, 07:39   +/
Кто знает, когда в арче появится?
а то до сих пор на 2.33 сидим
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #114

71. Сообщение от Аноним (71), 04-Фев-22, 08:50   +2 +/
Что это ещё за Restartable Sequences (rseq). Вчера полдня читал, пытался понять как в коде использовать.

Может кто скинуть примеры в коде на С / C++, желательно без ассемблерных вставок.

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

72. Сообщение от lockywolf (ok), 04-Фев-22, 09:25   +/
>Объявлен устаревшим и будет удалён в следующем выпуске механизм prelink и связанные с ним переменные окружения LD_TRACE_PRELINKING и LD_USE_LOAD_BIAS.

Что в нём было не так? Знал людей, которые им активно пользовались.

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

73. Сообщение от Аноним12345 (?), 04-Фев-22, 09:50   +/
Когда можно ждать окончательный релиз ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

74. Сообщение от Эдуард (??), 04-Фев-22, 09:52   +1 +/
Да это я. Что вы хотели спросить непонял
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

75. Сообщение от n00by (ok), 04-Фев-22, 12:05   +/
Не вижу %b или %B ни в C17 ни в n2731.pdf среди conversion specifiers для fprintf().
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #79, #82, #102

76. Сообщение от kusb (?), 04-Фев-22, 12:51   +/
А я тоже придумывал кодировку. Там кириллические и латинские символы были одинаковыми по кодам, а ещё были банки символов, которые переключались командами. Потерял один символ и вce clomaloc' dyhum cgocobom.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #78

77. Сообщение от OpenEcho (?), 04-Фев-22, 13:22   +1 +/
Судя по количесву минусов, я спалил контору продвигающую тенденцию обязательных зависимостей для контроля популяции :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

78. Сообщение от Аноним (78), 04-Фев-22, 15:07   +1 +/
Инжалид дежице
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76

79. Сообщение от Аноним (78), 04-Фев-22, 15:07   +/
Ой беда-то какая...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #88

80. Сообщение от Аноним (81), 04-Фев-22, 16:47   +/
> Добавлена символическая ссылка /usr/bin/ld.so.

Давайте сделаем черный и белый список дистрибутивов:

cp $(which ls) ${TMP}
/usr/bin/ld.so ${TMP}/ls
или
/lib/ld-linux.so ${TMP}/ls
или где оно у вас там лежит и как называется...
Если команда выдает ошибку - в белый список.
Если команда выполняется - заносим диск в черный список.

> Для приложений, компилируемых с Glibc и GCC 12+, реализован режим защиты "_FORTIFY_SOURCE=3", выявляющий возможные переполнения буфера при выполнении строковых функций, определённых в заголовочном файле string.h.

Кому и зачем теперь еще нужны проги на Rust?

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

81. Сообщение от Аноним (81), 04-Фев-22, 16:57   +/
> Обьясните не сведующему, почему мир использует C только в системных утилитах, но не использует его во всем остальном, используя php, java и другие быдло языки. Это же идеальный язык. А для тех кто не хочет работать с памятью придумыли rust и go. Зачем нам другие языки, если этих трех для всего хватит?

Ты хотел спросить почему все еще до сих пор не пишут на SPARK?

Спрос зависит от цены. Прогу за 100$ купят меньше чем за 10$.

Програмист прогу на Python напишет в 10 раз быстрее чем на C.

Если у программиста почасовая оплата, то затраты на прогу на Python будут в 10 раз меньше чем на прогу на C.

Если на конечную цену программы влияют только затраты программиста то проги на Python будут в 10 раз дешевле прог на C.

Если цена програмы ключевой фактор, то Python в 10 раз предпочтительней C.

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

82. Сообщение от Аноним (-), 04-Фев-22, 17:50   +/
Может это расширение GNU&
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75

84. Сообщение от Аноним (20), 04-Фев-22, 18:36   +/
Не понял, ты хочешь скрипты сломать? Типа, дистрибутивы из белого списка это где ничего не будет работать? Такими только хомячки пользоваться будут, вон хромос например.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80 Ответы: #85

85. Сообщение от Аноним (85), 04-Фев-22, 19:21   –1 +/
ld не скрипты запускает, а бинарники!!!

Да:

В белом списке - те дистры где, в установке по умолчанию, левые бинари система не запустит, никак.

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

Это самый низкий уровень безопасности для ОС - C1. Даже некоторые первые UNIX ему удовлетворяли. А большинство _лину_псов_, сегодня, в установке по умолчанию, оставляет пользователю возможность запускать всякую принесенную бинарную дрянь.

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

86. Сообщение от Аноним (-), 04-Фев-22, 19:24   +2 +/
> Если вы про ядро, то в ядре давным давно UTF-8.

А шрифты для консоли уже могут иметь более 512 глифов? Можно вывести одновременно аглицкий, японский и русский?
Или поддержка юникода все еще немножко "фейковая"?

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

87. Сообщение от Аноним (20), 04-Фев-22, 20:02   +/
Скриптам нужно скачивать и компилировать свои бинари… Это в любой ОС так, не только в линуксе, если хочешь чтобы приложение установилось будь любезен запусти бинарь в каталоге временных данных. Если конечно пользователь в принципе не должен запускать бинари, там уж лучше проверять что весь софт подписан нужным ключом и ключ пользователя имеет полномочия на запуск этого софта.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85 Ответы: #89

88. Сообщение от n00by (ok), 04-Фев-22, 20:07   +1 +/
Беда будет при портировании. :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79

89. Сообщение от Аноним (85), 04-Фев-22, 20:19   +/
> Скриптам нужно скачивать и компилировать свои бинари…

Скриптом скачать сможешь.

Если есть права запустить компилятор, то даже скомпилить сможешь.

Теперь ВНИМАНИЕ!!!

Пользователь не может никак запустить скачанный, скомпиленый или иным образом добытый ЛЕВЫЙ бинарь в системе.

Да, root может в системе установить НАДЛЕЖАЩИМ образом скачанный, скомпиленый, инным образом добытый бинарь. В некоторых дистрах GNU/Linux требуется перезагрузка в специальный режим с возможностью изменения системных файлов.

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

Понятно?

Это ТРЕБОВАНИЕ уровня безопасности C1. Должно реализовываться простым DAC без пр менения Integrity.

Да Integrity тоже даёт крыптографические гарантии не исполнения неподписантго ПО, это хорошо, нужно, но речь не о нем.

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

90. Сообщение от Аноним (20), 04-Фев-22, 21:24   +/
Ну удачи стим под рутом запускать. К стиму то особых претензий нет конечно (хотя веб браузер со свободным доступом в интернет под рутом крутить такое себе), но вот софт там бывает очень разный в нём. С сегодняшними все эти требования это не реально, приложения это шляпа запускаемая в электроне и она должна свободно обновляться или же будут проблемы. А доступ к ptrace и прочему необходим на девелоперских тачках, так что тоже не обрежешь способность вмешиваться в соседние приложения.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #92

91. Сообщение от Аноним (-), 05-Фев-22, 08:18   –2 +/
Линус Торвальдс таки быдлокодер. Эндрю Таненбаум не даст соврать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #111

92. Сообщение от Аноним (92), 05-Фев-22, 08:48   +/
> Ну удачи стим под рутом запускат
> хотя веб браузер со свободным доступом в интернет под рутом крутить такое себе)
> она должна свободно обновляться или же будут проблемы

Вот именно для этого и вношу предложение вести черный и белый список дистрибутивов.

Зачем мне что-то запускать под рутом? Ну кроме менеджера пакетов для установки ПО?

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

А все дистры и ПО которое этому правилу не следует - заносим в черный список!

> А доступ к ptrace и прочему необходим

Никому он не нужен. Все можно скачать, проверить подписи, скомпилять под пользователем и установить под рутом без ptrace.

Да, антивирусное ПО которое сканирует процессы и потоки в оперативной памяти может перестать работать при некоторых настройках YAMA. Дебага оперативки не будет, не сильно он разрабам и нужен.

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

93. Сообщение от Аноним (68), 05-Фев-22, 09:16   –3 +/
'уязвимость в функции realpath(), вызванная возвращением при определённых условиях некорректного значения, содержащего неочищенные остаточные данные из стека.'

Компилятор java и даже typescript не дадут читать из неинициализированных во всех ветках условия переменных.
Хотя конечно местные иксперты это быдлоязыки для макак.

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

94. Сообщение от Мент (?), 05-Фев-22, 11:07   +/
Нет, это не нужно!
Понял?
Потому что я так решил.
Я имею полное право решать за весь мир.

Потому что я великий эксперт с opennet.

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

95. Сообщение от Аноним (-), 05-Фев-22, 11:57   –1 +/
>А шрифты для консоли уже могут иметь более 512 глифов?

Юникодная раскладка кириллицы и кириллические буквы на 3-м уровне исполнения у меня нормально работают.

>Или поддержка юникода все еще немножко "фейковая"?

Нет не фейковая. В ядре UTF-8. Ограничения там чисто из технических соображений. А то размер исхожников на иероглифах могут распухнуть.

Шах и мат! Прежде чем что-то писать сначала научись уму разуму.

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

96. Сообщение от Аноним (-), 05-Фев-22, 11:59   –1 +/
Да это тот редкий случай, когда ты высоко оценил высер человека страдающего Жабой говоного мозга.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56

97. Сообщение от Аноним (-), 05-Фев-22, 12:06   +1 +/
>Люди пишут ОС на С, прикладной софт и куски юзерспейса, которым нужно ООП на С/С++, но когда дело доходит до MDM, автоматизации бизнес-процессов и потоковой обработки бизнес-данных народ используют чистые ООП-языки вроде C# и Java.

Когда вы написали абревиатуру - "С/С++" с вами стало всё понятно. По сообщению, вы не умеете организовывать структурный код на Си? Критикуете людей пишущих на Си и которые не имея опыта, плохо организовывают структурный код на чистом Си?

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

98. Сообщение от Аноним (-), 05-Фев-22, 12:07   +3 +/
Ну не осилил ты структурировать код на Си. Зачем ты обобщаешь свой негативный опыт на других?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #109

99. Сообщение от Vasyan2 (ok), 05-Фев-22, 12:32   +/
> Современный стандарт — 8-16. Техногики не в счёт.

Ща открыл 16 нелегковесных вкладок соцсетей c видео, джава скриптом, кучей картинок и т.п. в нелегковесном firefox - всего занято 2,1 Гига, Свап пустой. Это при том что у меня сейчас еще и жрущий xfce. Зачем десктопу ботше 4 Гиг Озу вообще не понимаю, если только виртуалки не гонять.

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

100. Сообщение от Аноним (100), 05-Фев-22, 12:54   –1 +/
```Редкостный по силе идиотии комментарий.

Shared libraries:

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

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


Отвечу на этот "Редкостный по силе идиотии комментарий". so никаким образом не уменьшают расходы рамы - это протухший миф. Аналогично никаким образом не делают запуск запуск приложений быстрее.

При этом, если первое ещё имеет какой-то смысл, то второе нет. Даже в самом лучшем случае - это экомия ничего не стоит, но её не бдуте по очевидной причине.

Возьмём ту же glibc, которая весит в виде so дохрена. Но сколько функций из всей либц использует 99% программ? Это io+string+минорщина. Это даже не пару процентов от glibc. При этом из-за бинарных-so-рабов в glibc ещё лежит по 10 вариантов каждой функции, которые динамически выбираются в рантайме.

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

Это в разы ускоряет вызов этих функций, каждый вызов в so-мусор добавляет как минимум лишнюю косвенность и никак не может быть заинлайнен, допустим.

Поэтому, несмотря на маня-кажущеющиеся дублирование кода - его на самом деле не будет, а даже если будет - это будет 1% от всей glibc. А далее, даже если будет запущено 100 программ, то это лишь достигнет парритета с so-мусором.

Бредни про "быстрее" вообще никак не связан с реальностью. Даже минимально.


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

Не говоря уже о том, что почему-то никто этого не делает. Все диструбутивы дерьма ничего не обновляют, потому как это сломает систему. Это работает только в роллинг-релиз дистрибутивов, и то нормально это работает только в генте. И то лишь потому, что там есть система пересборки зависимых.


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

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

101. Сообщение от Vasyan2 (ok), 05-Фев-22, 13:41   +3 +/
А в едь можно было всего лишь сказать:
"на С писать долго а ынтырпрайзу нужна скорость"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

102. Сообщение от Аноним (102), 05-Фев-22, 14:16   +/
C17 - это черновик, причём один из многих промежуточных черновиков. Текущий ратифицированный стандарт языка Си - C18 (2018 г.).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #117

103. Сообщение от Аноним (-), 05-Фев-22, 14:16   +/
>>А шрифты для консоли уже могут иметь более 512 глифов?
> Юникодная раскладка кириллицы и кириллические буквы на 3-м уровне исполнения у меня

Так "да" или "нет"?

>> Или поддержка юникода все еще немножко "фейковая"?
> Нет не фейковая. В ядре UTF-8. Ограничения там чисто из технических соображений.

Т.е. "да, но пока еще нет"? Или "нет, пока еще нет"?
> А то размер исхожников на иероглифах могут распухнуть.

В тех же бздах вполне себе выводится в консоле разом русский, японский и английский
https://www.opennet.me/openforum/vsluhforumID3/123250.html#205
Да и в целом - бредоватая отмазка.


> Шах и мат!

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

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

104. Сообщение от Аноним (104), 05-Фев-22, 14:30   –1 +/
Для ASLR система с разделяемыми библиотеками будет иметь большую рандомизацию.

Линковка с asneeded добавит только нужные либы.

Лучше иметь хорошо вылезаные общие стандартные библиотеки чем в каждой проге писать свои велосипеды:

Стандартная библиотека C: glibc
Стандартная библиотека для авторизации: pambase
Стандартная библиотека для сети: tcpd почему ее забросили?!!
...

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

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

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

105. Сообщение от OpenEcho (?), 05-Фев-22, 16:58   +1 +/
> Может кто скинуть примеры в коде на С / C++, желательно без
> ассемблерных вставок.

https://github.com/facebookarchive/Rseq


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

106. Сообщение от anonimous (?), 05-Фев-22, 17:26   +/
> А если и это не подходит, то давайте SOAP и SAML, но только чур не тащить реализации XML-библиотек из Java

20 Using the XML Parser for C - Oracle Help Center
https://docs.oracle.com › ADXDK › adx_c_parser
The Oracle XML parser for C reads an XML document and uses DOM or SAX application programming interfaces (APIs) to provide programmatic access to its ...

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

107. Сообщение от Michael Shigorinemail (ok), 05-Фев-22, 18:37   +1 +/
> Никогда желание найти дистрибутив с более квалифицированными мейнтейнерами
> не было так велико.

http://opennet.ru/48009 :)

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

108. Сообщение от Michael Shigorinemail (ok), 05-Фев-22, 18:39   +/
> Java [...] сделан чтобы быть проще С++

А мне-то казалось, что:
1) для выживания Sun в мире Wintel (не помогло);
2) для предсказуемого по времени -- чудовищного, но управляемого -- процесса разработки оравой (такое себе).

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

109. Сообщение от Michael Shigorinemail (ok), 05-Фев-22, 18:40   +/
Так он же дзен познавал, а не разработку... глядишь, ещё мемуары по травмированности напишет :]
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98

110. Сообщение от Michael Shigorinemail (ok), 05-Фев-22, 18:43   +3 +/
> Если цена програмы ключевой фактор, то Python в 10 раз предпочтительней C.

Второй или третий?

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

111. Сообщение от nvidiaamd (?), 05-Фев-22, 19:36   +/
Тряненбаран просто тролль лесной
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91

112. Сообщение от Michael Shigorinemail (ok), 05-Фев-22, 21:48   +/
> so никаким образом не уменьшают расходы рамы - это протухший миф.

Неся полную ахинею, Вы не потрудились хоть как-то её обосновать.

Откройте для себя да хотя бы smem(8) -- что забавно, написанный как раз на питоне:

NAME
       smem - Report memory usage with shared memory divided proportionally.

SYNOPSIS
       smem [options]

DESCRIPTION
       smem  reports  physical  memory  usage, taking shared memory pages into
       account.  Unshared memory is reported as the  USS  (Unique  Set  Size).
       Shared  memory  is divided evenly among the processes sharing that mem‐
       ory.  The unshared memory (USS) plus a process's proportion  of  shared
       memory is reported as the PSS (Proportional Set Size).  The USS and PSS
       only include physical memory usage.  They do not  include  memory  that
       has been swapped out to disk.

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

Это был каминаут сторонника небинарности вместо логики, что ли?

> Все диструбутивы дерьма ничего не обновляют, потому как это сломает систему.

Вы ни разу не в теме, но позволяете себе обобщать чрезмерно.  Зачем?

Кому интересно -- он неправ даже без set-versions имени Лёши Турбина, но неправ в квадрате с ними.

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

1) нет;
2) нет.

Кому интересно -- см. про chrooted, реализованный в альте более двадцати лет как (а про обновление любимых zlib/libpng, но никак не ограничиваясь ими, все необходимые уроки любители статически линкануться по-быстрому уже могли бы и усвоить -- разумеется, при наличии у них средств усвоения знаний).

PS: и судя по неумению цитировать, стоит задать любимый вопрос к таким: со второго на третий всё уже надёжно-безопасно перетащили, табы с пробелами нигде не икаются?..

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100 Ответы: #121, #123, #128, #129, #131, #132

113. Сообщение от Аноним (-), 05-Фев-22, 21:57   –2 +/
Как эта сучья либц надоела, неужели так трудно сделать набор из 30 функций и больше НЕ ТРОГАТЬ ! Никогда не трогать. И тогда расцветет сад вокруг.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #120, #135

114. Сообщение от Michael Shigorinemail (ok), 05-Фев-22, 22:04   +/
Не знаю за арч, но в сизифы нашего города уже завезли: http://git.altlinux.org/tasks/archive/done/_287/294790/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

115. Сообщение от x3who (?), 06-Фев-22, 02:46   +/
Для выживания в мире энтерпрайза (он же сейчас чуть более чем везде в отличие от САНа), а на рилтайм там и не замахивались никогда.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108

116. Сообщение от x3who (?), 06-Фев-22, 03:01   +/
Какая-то замена атомиков бизилупами на вид
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #105

117. Сообщение от n00by (ok), 06-Фев-22, 07:02   +/
И что это меняет? Что там написано в купленном стандарте? Опс, Аноним подписал эту, как её там... NDA и ему положено про это молчать...))

Тогда идём вот сюда https://stackoverflow.com/questions/81656/where-do-i-find-th...
и находим ISO/IEC 9899:2018 (C17/C18): https://web.archive.org/web/20181230041359if_/http://www.ope... (N2176)

а потом включаем мозг и думаем, почему c17_updated_proposed_fdis.pdf доступен только в веб-архиве, тогда как другие черновики не удалены. Заодно находим год выпуска n2731.pdf.

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

118. Сообщение от Аноним (-), 06-Фев-22, 07:40   +/
>ISO/IEC 9899:2018 (C17/C18)

Пиши без ошибок, есть теущий ISO/IEC 9899:2018 (C18). С17 - это черновик.

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

119. Сообщение от Аноним (-), 06-Фев-22, 07:41   –1 +/
Тот, который модный.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

120. Сообщение от Аноним (-), 06-Фев-22, 07:44   +1 +/
Твой код написанный 10 лет назад перестал на современных и модных дистрибутивах динамически линковаться?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113

121. Сообщение от n00by (ok), 06-Фев-22, 08:04   +/
>> so никаким образом не уменьшают расходы рамы - это протухший миф.
> Неся полную ахинею, Вы не потрудились хоть как-то её обосновать.
> Откройте для себя да хотя бы smem(8) -- что забавно, написанный как
> раз на питоне:
>
NAME 
>        smem - Report memory usage
> with shared memory divided proportionally.
>

Попробую за него.


#include <iostream>

int main() {
  std::cout << "Hello!";
}


Результирующий исполняемый файл связан с:
libstdc++.so.6 (~2000 килобайт)
libm.so.6 (~700 килобайт)
libgcc_s.so.1 (~90 килобайт)
libc.so.6 (~1500 килобайт)
ld-linux-x86-64.so.2 (~200 килобайт)

Итого, грубо, 4,5 Мегабайт.

Вот тут https://code.google.com/archive/p/ontl со смертью Гуглокода сломалось форматирование, но видно "24.5 Kb exe file".
Пример импортирует только ntdll, значит аналог в Linux вообще может обойтись без библиотек.

То есть разделяемые библиотеки весят как сотня-другая Хелловордов.

---

Второй момент - время инициализации библиотек. Вот я когда-то сравнивал Хелловорд на OCaml (первый вариант - интерпретатор без зависимостей), погрешность измерения зашкаливает, но представление получить можно:

$ time ./microcaml
Hello World!

real 0m0,002s
user 0m0,002s
sys 0m0,001s

Оригинальный интерпретатор:

$ time ocamlrun test/hello
Hello World!

real 0m0,007s
user 0m0,003s
sys 0m0,004s

Скомпилированный в машинный код вариант:

$ time test/hello.elf
Hello World!

real 0m0,005s
user 0m0,001s
sys 0m0,004s

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

122. Сообщение от n00by (ok), 06-Фев-22, 09:02   +/
>>ISO/IEC 9899:2018 (C17/C18)
> Пиши без ошибок, есть теущий
> теущий

Точно. Пиши.

А ещё учимся читать. Слово "находим" после ссылки подразумевает цитату.

Итак, я жду цитату по существу - что там в "C18" по поводу %b ?

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

123. Сообщение от Аноним (123), 06-Фев-22, 12:28   +/
С какими опциями ALT Linux линкует пакеты, и какие опции компилятора?

Все ли линкуется динамически?

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

125. Сообщение от Самокатофил (?), 06-Фев-22, 21:00   +/
Ох лол, как скопировал с крукса, так забыл даже заглушку  на случай error code убрать. Растамань, я тя узнал :-D
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

126. Сообщение от Какаянахренразница (ok), 07-Фев-22, 03:57   +/
Библиотечные функции для min/max есть хорошо, а то каждый раз приходится городить свои макросы.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #127

127. Сообщение от Аноним (-), 07-Фев-22, 06:59   +/
А использовать операторы сравнения в коду это так трудно?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #126 Ответы: #136

128. Сообщение от Аноним (100), 07-Фев-22, 13:25   +/
>Неся полную ахинею, Вы не потрудились хоть как-то её обосновать.

Всё было. Непонятно только зачем, зачем эникей пытается со мною спорить?

>Откройте для себя да хотя бы smem(8) -- что забавно, написанный как раз на питоне:

И что же я там увижу? Поподробнее.

>Это был каминаут сторонника небинарности вместо логики, что ли?

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


>Вы ни разу не в теме, но позволяете себе обобщать чрезмерно.  Зачем?

Ни разу ни в теме рандомный эникей. Ну ладно, пусть эникей покажет не-роллинг? Покажет пару диструбутивов? И он так же сможет рассказать почему и зачем с бинарном мусоре нужно версионирование?

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

129. Сообщение от Аноним (100), 07-Фев-22, 13:30   +/
Ладно, мне лень спорить с тутошними эникеями блаженными. Ставлю мат в два хода.


>уроки любители статически линкануться

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


>Кому интересно -- см. про chrooted, реализованный в альте более двадцати лет как

Теперь данный эникей, пойдёт и получит реальный список сисколов, который может вызывать программа. При этом эникею ненужно ничего писать - не его это дело. Просто пусть расскажет, как его мусор это может, а если не может - пусть эникей расскажет о том, как он это сможет.

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

130. Сообщение от Аноним (100), 07-Фев-22, 13:39   +/
Эникей, мне вот даже интересно. Ладно, кому интересно - я поясню на методичку этого овоща. Хотя в своём посте сообщил о разнице.

Данный бот-эникей с чего-то решил, что "Итого, грубо, 4,5 Мегабайт." имеет какое-то отношение к реальности. Хотя, на самом деле, оно никакого отношения не имеет. И как уже сказано мною выше - я объяснял почему.


Как пример, если собрать вот это "#include <iostream>" в so, то оно будет весить бесконечность. Ладно, возьмём базовые типы - оно будет весить половину от того, что он там насчитал. Но почему-то данный овощ игнорирует этот факт. Почему? Да, он просто о нём не знает. И почему эти пару мегабайт бинаря не попадают в результирующий файл? Да, эникей - их нет даже в libstdc++. А почему?


Всё очень просто, овощ, 99% из того кода, что написан в iostream и всём том, что он инклюдит ненужно. И как результат этого ненужно - этот код никуда не попадает. Он просто выпиливается.

Таким образом, если выпилить этот so-мусор и заменить на ho, то никаких 4.5мегабайт там не будет. Там будет от силы сотня килобайт и то, практически из которых - это рантайм крестов.

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

131. Сообщение от Аноним (100), 07-Фев-22, 13:57   +/
Заодно объясню людям, почему эти эникей-овощи несут херню в контекте той же скорости запуска. На самом деле so-мусор -это такое же дерьмо, как и веб. Сделано такими же овощами.


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

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

Далее, уже в момент холодного старта - сошка будет инициализировать локальное состояние. Т.е. неважно, что ты используешь одну функцию из неё - она об этом не знает. Поэтому будет вызываться всё. Там есть тысячи хаков на эту тему, всякие ленивые инициализации. Кому интересно - почитает.

Эта инициализация может дёргать код из разных мест сошки, т.е. это опять сики.


Далее нужно запустить код в этой сошке. Ситуация такая же как в случае с инициализацией. Условный принтф может валяться где угодно и, очевидно, он не будет загружен в память. Там будут миллионы разного уровня кешмиссов. И с этим ничего не сделать.


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


И проблема даже не в том, что там 10 мегабайт - проблема в том, что эти мегабайты раскиданы по диску. А диск не может в параллельное чтение. ssd может. Далее вы уже знаете.


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


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

В случае же с нормально собранной программой - в её коде лежит только только то, что нужно. При этом зачастую оно ещё и заинлайнено.

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

132. Сообщение от Аноним (100), 07-Фев-22, 14:00   +/
Кстати, ещё одно. Дело в том, что любая сошка - это тысячи косвенных вызовов. А данный овощ у нас бегает и рассказывает про эльбрус. И если суперскаляр ещё хоть как-то может компенсировать жопу вызываемую сошками, то вот эльбрус нет.

Пусть данный овощ подойдёт и спросит у дядей про so, косвернные вызовы и прочее. Т.е. данный овощ не только маздайщик, но и засланец интела. Хотя шифруется он под других.

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

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

133. Сообщение от n00by (ok), 07-Фев-22, 14:12   +/
> Как пример, если собрать вот это "#include <iostream>" в so, то оно
> будет весить бесконечность. Ладно, возьмём базовые типы - оно будет весить
> половину от того, что он там насчитал.

Я правильно понимаю, что ты готов собрать std::cout << "Hello!"; в исполняемый файл без зависимостей и вдвое меньше моих 25 кб, или у тебя ещё продолжается пятница и ты совершенно пьян?

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

134. Сообщение от Аноним (100), 07-Фев-22, 15:24   +/
>> Как пример, если собрать вот это "#include <iostream>" в so, то оно
>> будет весить бесконечность. Ладно, возьмём базовые типы - оно будет весить
>> половину от того, что он там насчитал.
> Я правильно понимаю, что ты готов собрать std::cout << "Hello!"; в исполняемый
> файл без зависимостей и вдвое меньше моих 25 кб, или у
> тебя ещё продолжается пятница и ты совершенно пьян?

Во-первых я не знаю откуда ты родил эту чушь. Во-вторых - это можно сделать, очевидно. Только iostream парашный мне даже трогать лень. Это мусорное дерьмо. Слишком сильно заморачиваться нужно.

А вообще я тебе говорил о том, что iostream хоть огрызок дерьма из си с классами, но даже в нём большая его часть выпиливается, потому что она ho. Поэтому, если бы iosteam был бы реализован полностью через so и линковку, то он бы занимал пару мегабайт. Ну может не пару, но много.

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

135. Сообщение от Аноним (135), 07-Фев-22, 15:30   +/
Используйте musl или LLVM libc
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113

136. Сообщение от Какаянахренразница (ok), 07-Фев-22, 17:37   +1 +/
> А использовать операторы сравнения в коду это так трудно?

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

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

137. Сообщение от n00by (ok), 07-Фев-22, 17:49   +/
> Во-вторых - это
> можно сделать, очевидно. Только iostream парашный мне даже трогать лень. Это
> мусорное дерьмо. Слишком сильно заморачиваться нужно.

Смотри, Петка, какая ситуация. Ты пришёл сюда, вывалил некие гипотетические выкладки. Якобы возможно, цитирую #100: "каждая программа будет использовать не просто только нужные ей функции, но эти функции будут адаптированы по месту, заинлайнены и прочее".

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

Если же ты протрезвеешь и внимательно прочтёшь моё сообщение дальше тех цифр, что тебя бомбанули, ты увидишь там ссылку на std::cout << "Hello!", который собран в исполняемый файл размером в 25 кб, без зависимостей и лишних функций, вот как в твоей цитате.

Но есть один нюанс - этот практический результат - мой.

Тебе всё понятно в этом моём сообщении, или опять стоит что-то разжевать?

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

138. Сообщение от Аноним (100), 07-Фев-22, 17:59   +/
>> Во-вторых - это
>> можно сделать, очевидно. Только iostream парашный мне даже трогать лень. Это
>> мусорное дерьмо. Слишком сильно заморачиваться нужно.
> Смотри, Петка, какая ситуация. Ты пришёл сюда, вывалил некие гипотетические выкладки. Якобы
> возможно, цитирую #100: "каждая программа будет использовать не просто только нужные
> ей функции, но эти функции будут адаптированы по месту, заинлайнены и
> прочее".
> Теперь, что бы твои слова были похожи на правду, следует не растопыривать
> пальцы, а показать какие-то практические результаты. Как только я намекнул тебе
> на это, появилось слово "заморачиваться" и "лень", что как бэ намекает.

Нет, дошколёнок. Зачем мне копаться в бездарном дерьме? Я тебя просто пошлю собирать iostream через линковку и ты убежишь плакаться мамки.

Давай попроще, дошколёнок. цпп не предполагает сравнения между какой-либо линковкой, потоу как цпп невозможно линковать. Поэтому ни в каком коде на цпп линковки никогда не было. Никакой. И не будет никогда.

Что ты, эникейская амёба, хочешь мне сообщить и что с чем сравнить? Это невозможно. Идти и переделывать на ho iostream-мусор мне нахрен не уплао. Это мусорное дерьмо, который никто в здравом уме не использует. Мне какая разница?

Хочешь сравнить на нормальном коде - ты пойдёшь плакаться мамке, потому как никогда в so ты цпп не засунешь. Это невозможно.

> Если же ты протрезвеешь и внимательно прочтёшь моё сообщение дальше тех цифр,
> что тебя бомбанули, ты увидишь там ссылку на std::cout << "Hello!",
> который собран в исполняемый файл размером в 25 кб, без зависимостей,
> вот как в твоей цитате.
> Но есть один нюанс - этот практический результат - мой.
> Тебе всё понятно в этом моём сообщении, или опять стоит что-то разжевать?

Маня, std::дерьмоcount не может быть собран куда-то ни в одной из существующих stdlib. Даже в libc++ это легаси-дерьмо, на которое всем положить.

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

139. Сообщение от n00by (ok), 07-Фев-22, 18:19   +/
> Зачем мне копаться в бездарном дерьме?

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

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

Я уже собрал и  в исходном сообщении дал ссылку, там iostream. 25 кб экзешник без зависимостей. Я третий раз про это пишу. Ты ещё не догнал? Чем ты там лечишься?

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

140. Сообщение от n00by (ok), 07-Фев-22, 18:22   +/
Опс, малость накосячил, вот правильная ссылка https://code.google.com/archive/p/ontl/wikis/HelloWorld.wiki

По поводу битого форматирования - это не ко мне. Я за действия Гугла не отвечаю.

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

141. Сообщение от Аноним (-), 07-Фев-22, 18:38   +/
А имена файлов длиной до 255 символов юникода, а не 255 байт уже завезли?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86


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

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




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

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