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

Исходное сообщение
"Выпуск системной библиотеки Glibc 2.35"

Отправлено opennews , 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


Содержание

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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 18:05 
Она отдельной надстройкой в дистрибутивах добавлялась, а сейчас встроена в Glibc.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 18:07 
а как ее убрать обратно? просто не всем нужен юникод, тем более если сидишь в ядерной консоли (поставил зеленые буквы кстати)

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Урри , 03-Фев-22 18:37 
Просто не используй.

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 18:42 
я за чистоту и минимализм, ничего лишнего быть не должно

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 18:47 
Используй мюсли.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 18:48 
Тогда используй другую реализацию. Glibc это не про чистоту и минимализм, кмк

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Kusb , 03-Фев-22 20:05 
По моему я тебя знаю.
:)

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Массоны Рептилоиды , 03-Фев-22 21:05 
KOI8-R?

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 03:20 
Эдик, ты?

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Эдуард , 04-Фев-22 09:52 
Да это я. Что вы хотели спросить непонял

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 06:16 
массоны = массивные масоны ?

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Массоны Рептилоиды , 03-Фев-22 21:07 
> я за чистоту и минимализм, ничего лишнего быть не должно

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Урри , 04-Фев-22 01:06 
я тоже, как ни странно.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 01:45 
>Glibc
>чистота и минимализм

/0


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

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


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

КО: Не ставь.


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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено bircoph , 03-Фев-22 20:51 
Почему без?
man screen

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 19:03 
>а как ее убрать обратно?

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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Тот_Самый_Анонимус , 04-Фев-22 05:50 
>в него ASCII входит как подмножество, в виде первого блока символов

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


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

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 15:07 
Инжалид дежице

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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 05-Фев-22 11:57 
>А шрифты для консоли уже могут иметь более 512 глифов?

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

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

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

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


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

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

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

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

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


> Шах и мат!

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 07-Фев-22 18:38 
А имена файлов длиной до 255 символов юникода, а не 255 байт уже завезли?

"Выпуск системной библиотеки Glibc 2.35"
Отправлено макпыф , 03-Фев-22 18:11 
> Она отдельной надстройкой в дистрибутивах добавлялась

Вы про localedef?


"Выпуск системной библиотеки Glibc 2.35"
Отправлено муу , 03-Фев-22 21:41 
патч есть левый который дистры накладывали

"Выпуск системной библиотеки Glibc 2.35"
Отправлено макпыф , 03-Фев-22 21:52 
> патч есть левый который дистры накладывали

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено муу , 03-Фев-22 22:08 
И мозгов тоже.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено макпыф , 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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено муу , 04-Фев-22 02:19 
это не локаль, а костыль васянский какойто

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


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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Самокатофил , 06-Фев-22 21:00 
Ох лол, как скопировал с крукса, так забыл даже заглушку  на случай error code убрать. Растамань, я тя узнал :-D

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Смузихлёб , 03-Фев-22 18:32 
Библиотеки не нужны. Бинарник должен быть самодостаточным, как это было в DOS'е (золотое время, эх…).

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 18:36 
Зажигалки не нужны. Человек должен быть самодостаточным, как это было в палеолите (золотое время, эх…).

"Выпуск системной библиотеки Glibc 2.35"
Отправлено заминированный тапок , 04-Фев-22 01:08 
комментаторы опенету не нужны, статьи должны быть самодостаточными и включать все необходимые комментарии

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Урри , 03-Фев-22 18:43 
В DOSе бинарник не был самодостаточным. Например, для использования мыши надо было грузить библиотеку мыши и юзать экспортируемые ею функции через INT33.

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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 18:47 
ДОС однозадачный, и там пофиг, что одна программа займёт всю память. А что будет, если все нынешние приложения скомпилировать статически? Либо 128 гигов рамы стаь, либо вечный своп.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 19:32 
Нужных приложений одновременно в пределах 10 обычно запущено, так что большого оверхеда не будет.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 01:31 
А приложения тебя справивают, нужны ли они тебе? Покажика ps aux.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 19:34 
>Либо 128 гигов рамы стаь

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Kusb , 03-Фев-22 20:09 
Я как консерватор против неолуддитов и за старых луддитов.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 20:42 
Вам срочно нужно выкинуть унитаз! Это все происки смузихлебов!
Лучше дыры в полу, только дыра в полу во дворе! Нечаво еще и трубы в дом тащить!

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 21:44 
> Вам срочно нужно выкинуть унитаз! Это все происки смузихлебов!
> Лучше дыры в полу, только дыра в полу во дворе!

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 04:05 
Ну будьте снисходительны. Некоторые с ним ознакомились не так и давно.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 20:15 
> 128 гигов рамы ставь

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 21:04 
640 не хватит, но хватит гораздо меньше, конечно, чем пожирают современные десктопы.

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 21:41 
> Кстати, TUI DE ещё не изобрели?

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

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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 22:52 
Это не tui

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Ananimasss , 04-Фев-22 02:15 
во времена доса был turbo vision, исходники которого были порно для глаз.
но до ДЕ оно не дожило, шиндовс 3.11, а следом и 95 похоронили все затеи на корню.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Смузихлёб , 03-Фев-22 21:58 
> 128 гигов рамы

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено псевдонимус , 04-Фев-22 03:05 
Сколько же у тебя вкладок?! У меня на телефоне с двумя гигами 6 штук открыто.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 04:18 
Современный стандарт — 8-16. Техногики не в счёт.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Vasyan2 , 05-Фев-22 12:32 
> Современный стандарт — 8-16. Техногики не в счёт.

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено _kp , 04-Фев-22 00:03 
Snap Вам в помощь ;)

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 02:57 
Редкостный по силе идиотии комментарий.

Shared libraries:

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

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

// b.


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 03:19 
> В DOS бинарники были полные программы на ASM

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 03:27 
> уменьшают ... уменьшают ... обновлять

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


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

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


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

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 15:07 
Ой беда-то какая...

"Выпуск системной библиотеки Glibc 2.35"
Отправлено n00by , 04-Фев-22 20:07 
Беда будет при портировании. :)

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 17:50 
Может это расширение GNU&

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

"Выпуск системной библиотеки Glibc 2.35"
Отправлено n00by , 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.


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

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


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

Точно. Пиши.

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

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


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

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

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Michael Shigorin , 05-Фев-22 18:37 
> Никогда желание найти дистрибутив с более квалифицированными мейнтейнерами
> не было так велико.

http://opennet.ru/48009 :)


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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено OpenEcho , 03-Фев-22 19:51 
> Лучше поздно, чем никогда

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено OpenEcho , 04-Фев-22 13:22 
Судя по количесву минусов, я спалил контору продвигающую тенденцию обязательных зависимостей для контроля популяции :)

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

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 03-Фев-22 22:47 
Круто ты так с++ и java в быдлоязыки записал...

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

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 05-Фев-22 08:18 
Линус Торвальдс таки быдлокодер. Эндрю Таненбаум не даст соврать.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено nvidiaamd , 05-Фев-22 19:36 
Тряненбаран просто тролль лесной

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 05:43 
Си плюс-плюс он вообще не упомянул, побрезговал.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 06:02 
Java это С++--
Он сделан чтобы быть проще С++, чтобы решить многие его проблемы

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

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


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

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 00:22 
>  почему мир использует C только в системных утилитах, но не использует

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


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

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

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

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

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


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

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Michael Shigorin , 05-Фев-22 18:40 
Так он же дзен познавал, а не разработку... глядишь, ещё мемуары по травмированности напишет :]

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 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. Обычно об этот вопрос сишники-студенты у которых всё остальное "быдло языки" быстро спесь и величие сбивают, когда за пару недель не способны ничего рабочего.


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

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

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


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

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

Спасибо!

// b.


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 05-Фев-22 11:59 
Да это тот редкий случай, когда ты высоко оценил высер человека страдающего Жабой говоного мозга.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 03:24 
У вас java головного мозга.

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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Vasyan2 , 05-Фев-22 13:41 
А в едь можно было всего лишь сказать:
"на С писать долго а ынтырпрайзу нужна скорость"

"Выпуск системной библиотеки 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 ...


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 04:19 
> Это же идеальный язык

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


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

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

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

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

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

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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Michael Shigorin , 05-Фев-22 18:43 
> Если цена програмы ключевой фактор, то Python в 10 раз предпочтительней C.

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 06-Фев-22 07:41 
Тот, который модный.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Протогонист , 04-Фев-22 02:03 
ещё много работы, однако хороший и годный релиз

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним12345 , 04-Фев-22 09:50 
Когда можно ждать окончательный релиз ?

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 07:39 
Кто знает, когда в арче появится?
а то до сих пор на 2.33 сидим

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Michael Shigorin , 05-Фев-22 22:04 
Не знаю за арч, но в сизифы нашего города уже завезли: http://git.altlinux.org/tasks/archive/done/_287/294790/

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

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


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

https://github.com/facebookarchive/Rseq



"Выпуск системной библиотеки Glibc 2.35"
Отправлено x3who , 06-Фев-22 03:01 
Какая-то замена атомиков бизилупами на вид

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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 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?


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 18:36 
Не понял, ты хочешь скрипты сломать? Типа, дистрибутивы из белого списка это где ничего не будет работать? Такими только хомячки пользоваться будут, вон хромос например.

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 04-Фев-22 19:21 
ld не скрипты запускает, а бинарники!!!

Да:

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

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

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


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

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

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

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

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

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

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

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

Понятно?

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

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


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

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

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

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

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

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

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

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

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


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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 05-Фев-22 12:54 
```Редкостный по силе идиотии комментарий.

Shared libraries:

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

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


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

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

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

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

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

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

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


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

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


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


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

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

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

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

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

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


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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено n00by , 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


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

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


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


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

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


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

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


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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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


"Выпуск системной библиотеки Glibc 2.35"
Отправлено n00by , 07-Фев-22 18:19 
> Зачем мне копаться в бездарном дерьме?

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

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

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


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

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


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

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


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

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

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

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

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

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


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

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


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


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

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


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

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


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


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

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

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

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


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


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


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


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


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

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


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

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

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


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

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 06-Фев-22 07:44 
Твой код написанный 10 лет назад перестал на современных и модных дистрибутивах динамически линковаться?

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 07-Фев-22 15:30 
Используйте musl или LLVM libc

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

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Аноним , 07-Фев-22 06:59 
А использовать операторы сравнения в коду это так трудно?

"Выпуск системной библиотеки Glibc 2.35"
Отправлено Какаянахренразница , 07-Фев-22 17:37 
> А использовать операторы сравнения в коду это так трудно?

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