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.dev/opennews/art.shtml?num=56631

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

Оглавление

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


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

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

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

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

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

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

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

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

8. "Выпуск системной библиотеки Glibc 2.35"  –7 +/
Сообщение от Аноним (3), 03-Фев-22, 18:42 
я за чистоту и минимализм, ничего лишнего быть не должно
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

60. "Выпуск системной библиотеки Glibc 2.35"  +1 +/
Сообщение от Аноним (60), 04-Фев-22, 03:20 
Эдик, ты?
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

/0

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

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

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

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

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

КО: Не ставь.

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

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

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

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

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

16. "Выпуск системной библиотеки Glibc 2.35"  +/
Сообщение от Аноним (-), 03-Фев-22, 19:03 
>а как ее убрать обратно?

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

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

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

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

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

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

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

78. "Выпуск системной библиотеки Glibc 2.35"  +1 +/
Сообщение от Аноним (78), 04-Фев-22, 15:07 
Инжалид дежице
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

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

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


> Шах и мат!

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

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

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

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

Вы про localedef?

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

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

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

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

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

38. "Выпуск системной библиотеки Glibc 2.35"  +2 +/
Сообщение от муу (?), 03-Фев-22, 22:08 
И мозгов тоже.
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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

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

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

5. Скрыто модератором  –10 +/
Сообщение от Смузихлёб (?), 03-Фев-22, 18:32 
Ответить | Правка | Наверх | Cообщить модератору

6. Скрыто модератором  +12 +/
Сообщение от Аноним (3), 03-Фев-22, 18:36 
Ответить | Правка | Наверх | Cообщить модератору

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

9. Скрыто модератором  +2 +/
Сообщение от Урри (ok), 03-Фев-22, 18:43 
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

11. Скрыто модератором  +2 +/
Сообщение от Аноним (14), 03-Фев-22, 18:47 
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

18. Скрыто модератором  –1 +/
Сообщение от Аноним (18), 03-Фев-22, 19:32 
Ответить | Правка | Наверх | Cообщить модератору

48. Скрыто модератором  +4 +/
Сообщение от Аноним (48), 04-Фев-22, 01:31 
Ответить | Правка | Наверх | Cообщить модератору

19. Скрыто модератором  –4 +/
Сообщение от Аноним (19), 03-Фев-22, 19:34 
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

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

27. Скрыто модератором  +1 +/
Сообщение от Аноним (27), 03-Фев-22, 20:42 
Ответить | Правка | Наверх | Cообщить модератору

34. Скрыто модератором  +/
Сообщение от Аноним (-), 03-Фев-22, 21:44 
Ответить | Правка | Наверх | Cообщить модератору

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

26. Скрыто модератором  –1 +/
Сообщение от Аноним (26), 03-Фев-22, 20:15 
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

29. Скрыто модератором  –1 +/
Сообщение от Аноним (29), 03-Фев-22, 21:04 
Ответить | Правка | Наверх | Cообщить модератору

32. Скрыто модератором  +1 +/
Сообщение от Аноним (26), 03-Фев-22, 21:41 
Ответить | Правка | Наверх | Cообщить модератору

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

53. Скрыто модератором  –1 +/
Сообщение от Ananimasss (?), 04-Фев-22, 02:15 
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

36. Скрыто модератором  +/
Сообщение от Смузихлёб (?), 03-Фев-22, 21:58 
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

58. Скрыто модератором  +1 +/
Сообщение от псевдонимус (?), 04-Фев-22, 03:05 
Ответить | Правка | Наверх | Cообщить модератору

64. Скрыто модератором  +/
Сообщение от Аноним (63), 04-Фев-22, 04:18 
Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

99. Скрыто модератором  +/
Сообщение от Vasyan2 (ok), 05-Фев-22, 12:32 
Ответить | Правка | Наверх | Cообщить модератору

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

57. Скрыто модератором  +3 +/
Сообщение от Аноним (57), 04-Фев-22, 02:57 
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

59. Скрыто модератором  +1 +/
Сообщение от Аноним (59), 04-Фев-22, 03:19 
Ответить | Правка | Наверх | Cообщить модератору

62. Скрыто модератором  +2 +/
Сообщение от Аноним (62), 04-Фев-22, 03:27 
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

117. "Выпуск системной библиотеки Glibc 2.35"  +/
Сообщение от 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ообщить модератору

118. "Выпуск системной библиотеки Glibc 2.35"  +/
Сообщение от Аноним (-), 06-Фев-22, 07:40 
>ISO/IEC 9899:2018 (C17/C18)

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

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

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

Точно. Пиши.

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

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

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

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

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

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

http://opennet.ru/48009 :)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

47. "Выпуск системной библиотеки Glibc 2.35"  +13 +/
Сообщение от Аноним (47), 04-Фев-22, 01:14 
В основном, потому что в других местах скорость разработки важнее скорости выполнения. Всё зависит от задач. Я так понимаю, что вы спрашиваете, потому что никогда не разрабатывали в рамках 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. Обычно об этот вопрос сишники-студенты у которых всё остальное "быдло языки" быстро спесь и величие сбивают, когда за пару недель не способны ничего рабочего.

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

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

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

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

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

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

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

Спасибо!

// b.

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

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

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

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

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

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

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

106. "Выпуск системной библиотеки Glibc 2.35"  +/
Сообщение от 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 ...

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

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

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

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

81. "Выпуск системной библиотеки Glibc 2.35"  +/
Сообщение от Аноним (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.

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

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

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

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

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

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

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

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

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

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

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

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

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

https://github.com/facebookarchive/Rseq


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

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

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

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

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

80. "Выпуск системной библиотеки Glibc 2.35"  +/
Сообщение от Аноним (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. "Выпуск системной библиотеки Glibc 2.35"  +/
Сообщение от Аноним (20), 04-Фев-22, 18:36 
Не понял, ты хочешь скрипты сломать? Типа, дистрибутивы из белого списка это где ничего не будет работать? Такими только хомячки пользоваться будут, вон хромос например.
Ответить | Правка | Наверх | Cообщить модератору

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

Да:

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

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

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

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

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

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

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

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

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

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

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

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

Понятно?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Shared libraries:

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

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


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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

112. "Выпуск системной библиотеки Glibc 2.35"  +/
Сообщение от 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: и судя по неумению цитировать, стоит задать любимый вопрос к таким: со второго на третий всё уже надёжно-безопасно перетащили, табы с пробелами нигде не икаются?..

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

121. "Выпуск системной библиотеки Glibc 2.35"  +/
Сообщение от 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ообщить модератору

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

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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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


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

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

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

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


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

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

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

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


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


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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




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

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