The OpenNET Project / Index page

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

Выпуск системной библиотеки Glibc 2.35

03.02.2022 17:48

После шести месяцев разработки опубликован релиз системной библиотеки GNU C Library (glibc) 2.35, которая полностью следует требованиям стандартов ISO C11 и POSIX.1-2017. В состав нового выпуска включены исправления от 66 разработчиков.

Из реализованных в Glibc 2.35 улучшений можно отметить:

  • Добавлена поддержка локали "C.UTF-8", включающей правила сортировки для всех Unicode-кодов, но для экономии места ограниченной использованием ASCII-диапазонов в функциях fnmatch, regexec и regcomp. Локаль занимает около 400 КБ, из которых 346 КБ составляют данные LC_CTYPE для Unicode, и требует отдельной установки (не встроена в Glibc).
  • Данные кодировок, информация о типах символов и таблицы транслитерации обновлены для поддержки спецификации Unicode 14.0.0.
  • В <math.h> и <tgmath.h> реализованы функции и макросы, округляющие результат до более узкого типа: fsqrt, fsqrtl, dsqrtl, ffma, ffmal, dfmal, fMsqrtfN, fMsqrtfNx, fMxsqrtfN, fMxsqrtfNx, fMfmafN, fMfmafNx, fMxfmafN и fMxfmafNx. Функции описаны в спецификациях TS 18661-1:2014, TS 18661-3:2015 и добавлены в черновик будущего Си-стандарта ISO C2X.
  • В <math.h> и <tgmath.h> реализованы функции и макросы для нахождения минимума и максимума чисел с плавающей запятой с типами float, long double, _FloatN и _FloatNx, описанные в спецификации IEEE 754-2019 и добавленные в черновик будущего Си-стандарта ISO C2X: fmaximum, fmaximum_num, fmaximum_mag, fmaximum_mag_num, fminimum, fminimum_num, fminimum_mag, fminimum_mag_num.
  • В <math.h> добавлены константы для чисел с плавающей запятой одинарной точности: M_Ef, M_LOG2Ef, M_LOG10Ef, M_LN2f, M_LN10f, M_PIf, M_PI_2f, M_PI_4f, M_1_PIf, M_2_PIf, M_2_SQRTPIf, M_SQRT2f и M_SQRT1_2f.
  • Для функций exp10 в заголовочный файл <tgmath.h> добавлены соответствующие макроcы, не привязанные к конкретным типам.
  • В <stdio.h> добавлен макрос _PRINTF_NAN_LEN_MAX, предложенный в черновике стандарта ISO C2X.
  • В функции семейства printf добавлены спецификаторы формата "%b" и "%B" для вывода целых чисел в двоичном представлении.
  • В системе динамического связывания реализован новый алгоритм сортировки DSO, использующий метод поиска в глубину (DFS) для решения проблем с производительностью при обработке зацикленных зависимостей. Для выбора алгоритма сортировки DSO предложен параметр glibc.rtld.dynamic_sort, которому можно присвоить значение "1" для отката на старый алгоритм.
  • В ABI добавлена поддержка новой функции '__memcmpeq', применяемой компиляторами для оптимизации использования 'memcmp', в случае если возвращаемое данной функцией значение используется только для проверки статуса завершения операции.
  • Добавлена поддержка автоматической регистрации потоков, используя системный вызов rseq (restartable sequences), предоставляемый начиная с ядра Linux 4.18. Системный вызов rseq позволяет организовать неразрывное выполнение группы инструкций, не прерываемой и подтверждающей результат последней инструкцией в группе. По сути предоставляется средство для очень быстрого атомарного выполнения операций, которые в случае прерывания другим потоком очищаются и предпринимается повторная попытка выполнения.
  • Добавлена символическая ссылка /usr/bin/ld.so.
  • Обеспечена сборка по умолчанию всех исполняемых файлов встроенных программ и тестового набора в режиме PIE (position independent executable). Для отключения данного поведения предусмотрена опция "--disable-default-pie".
  • Для Linux добавлена настройка glibc.malloc.hugetlb, позволяющая переключить реализацию malloc на использование системного вызова madvise с флагом MADV_HUGEPAGE для mmap и sbrk или напрямую использовать большие страницы памяти через указание флага MAP_HUGETLB в вызовах mmap. В первом случае можно добиться увеличения производительности, если Transparent Huge Pages используются в режиме madvise, а во втором предоставляется возможность использования зарезервированных системой больших страниц (Huge Pages).
  • Добавлена функция _dl_find_object, которую можно использовать для добавления информации о раскрутке стека вызовов (unwind).
  • Добавлена поддержка архитектуры OpenRISC (or1k-linux-gnu) в режиме программной обработки операций с плавающей запятой (soft-float). Для работы порта требуется binutils 2.35, GCC 11, и ядро Linux 5.4.
  • Добавлен сборочный флаг "--with-rtld-early-cflags", при помощи которого можно указать дополнительные флаги компиляции, используемые при сборке начального кода для динамического связывания.
  • Для платформы Linux добавлена функция epoll_pwait2, отличающаяся от epoll_wait указанием таймаута с наносекундной точностью.
  • Добавлена функция posix_spawn_file_actions_addtcsetpgrp_np, исключающая состояния гонки при установке управляющего терминала для нового процесса.
  • Для приложений, компилируемых с Glibc и GCC 12+, реализован режим защиты "_FORTIFY_SOURCE=3", выявляющий возможные переполнения буфера при выполнении строковых функций, определённых в заголовочном файле string.h. Отличие от режима "_FORTIFY_SOURCE=2" сводится к дополнительным проверкам, которые потенциально могут приводить к снижению производительности.
  • Прекращена поддержка расширений Intel MPX (Memory Protection Extensions), используемых для проверки указателей на соблюдение границ областей памяти (указанная технология не получила распространения и уже удалена из GCC и LLVM).
  • Объявлен устаревшим и будет удалён в следующем выпуске механизм prelink и связанные с ним переменные окружения LD_TRACE_PRELINKING и LD_USE_LOAD_BIAS.

    Устранены уязвимости:

    • CVE-2022-23218, CVE-2022-23219 - переполнение буфера в функциях svcunix_create и clnt_create, вызванное копированием в стек содержимого параметра с именем файла без проверки размера копируемых данных. Для приложений, собранных без защиты стека и использующих протокол "unix", уязвимость может привести к организации выполнения кода злоумышленника при обработке очень длинных имён файлов.
    • CVE-2021-3998 - уязвимость в функции realpath(), вызванная возвращением при определённых условиях некорректного значения, содержащего неочищенные остаточные данные из стека. Для SUID-root программы fusermount уязвимость можно использовать для получения конфиденциальных сведений из памяти процесса, например, для получения сведений об указателях.
    • CVE-2021-3999 - однобайтовое переполнение буфера в функции getcwd(). Проблема вызвана ошибкой, присутствующей с 1995 года. Для вызова переполнения достаточно в отдельном пространстве имён точек монтирования выполнить вызов chdir() для каталога "/".


  1. Главная ссылка к новости (https://sourceware.org/piperma...)
  2. OpenNews: Выпуск системной библиотеки Glibc 2.34
  3. OpenNews: Уязвимость в Glibc, позволяющая вызвать крах чужого процесса
  4. OpenNews: Уязвимости в OpenSSL, Glibc, util-linux, драйверах i915 и vmwgfx
  5. OpenNews: Проект Glibc отменил обязательную передачу прав на код Фонду СПО
  6. OpenNews: Выпуск стандартной Си-библиотеки PicoLibc 1.4.7
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/56631-glibc
Ключевые слова: glibc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (138) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, макпыф (ok), 18:04, 03/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >  Добавлена поддержка локали "C.UTF-8"

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

     
     
  • 2.2, Аноним (2), 18:05, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Она отдельной надстройкой в дистрибутивах добавлялась, а сейчас встроена в Glibc.
     
     
  • 3.3, Аноним (3), 18:07, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • –13 +/
    а как ее убрать обратно? просто не всем нужен юникод, тем более если сидишь в ядерной консоли (поставил зеленые буквы кстати)
     
     
  • 4.7, Урри (ok), 18:37, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Просто не используй.

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

     
     
  • 5.8, Аноним (3), 18:42, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • –7 +/
    я за чистоту и минимализм, ничего лишнего быть не должно
     
     
  • 6.10, Аноним (10), 18:47, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Используй мюсли.
     
  • 6.12, Аноним (12), 18:48, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Тогда используй другую реализацию. Glibc это не про чистоту и минимализм, кмк
     
  • 6.24, Kusb (?), 20:05, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    По моему я тебя знаю.
    :)
     
     
  • 7.30, Массоны Рептилоиды (?), 21:05, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    KOI8-R?
     
     
  • 8.60, Аноним (60), 03:20, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эдик, ты ... текст свёрнут, показать
     
     
  • 9.74, Эдуард (??), 09:52, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да это я Что вы хотели спросить непонял ... текст свёрнут, показать
     
  • 8.69, Аноним (69), 06:16, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    массоны массивные масоны ... текст свёрнут, показать
     
  • 6.31, Массоны Рептилоиды (?), 21:07, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > я за чистоту и минимализм, ничего лишнего быть не должно

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

     
  • 6.45, Урри (ok), 01:06, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    я тоже, как ни странно.
     
  • 6.50, Аноним (50), 01:45, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Glibc
    >чистота и минимализм

    /0

     
  • 5.94, Мент (?), 11:07, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, это не нужно!
    Понял?
    Потому что я так решил.
    Я имею полное право решать за весь мир.

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

     
  • 4.14, Аноним (14), 18:51, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Локаль занимает около 400 КБ, из которых 346 КБ составляют данные LC_CTYPE для Unicode, и требует отдельной установки (не встроена в Glibc).

    КО: Не ставь.

     
  • 4.15, Аноним (14), 18:52, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >если сидишь в ядерной консоли (поставил зеленые буквы кстати)

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

     
     
  • 5.28, bircoph (ok), 20:51, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Почему без?
    man screen
     
  • 4.16, Аноним (-), 19:03, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >а как ее убрать обратно?

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

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

     
     
  • 5.67, Тот_Самый_Анонимус (?), 05:50, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >в него ASCII входит как подмножество, в виде первого блока символов

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

     
     
  • 6.76, kusb (?), 12:51, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А я тоже придумывал кодировку. Там кириллические и латинские символы были одинаковыми по кодам, а ещё были банки символов, которые переключались командами. Потерял один символ и вce clomaloc' dyhum cgocobom.
     
     
  • 7.78, Аноним (78), 15:07, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Инжалид дежице
     
  • 5.86, Аноним (-), 19:24, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Если вы про ядро, то в ядре давным давно UTF-8.

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

     
     
  • 6.95, Аноним (-), 11:57, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >А шрифты для консоли уже могут иметь более 512 глифов?

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

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

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

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

     
     
  • 7.103, Аноним (-), 14:16, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >>А шрифты для консоли уже могут иметь более 512 глифов?
    > Юникодная раскладка кириллицы и кириллические буквы на 3-м уровне исполнения у меня

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

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

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

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


    > Шах и мат!

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

     
  • 6.141, Аноним (-), 18:38, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А имена файлов длиной до 255 символов юникода, а не 255 байт уже завезли?
     
  • 3.4, макпыф (ok), 18:11, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Она отдельной надстройкой в дистрибутивах добавлялась

    Вы про localedef?

     
     
  • 4.33, муу (?), 21:41, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    патч есть левый который дистры накладывали
     
     
  • 5.35, макпыф (ok), 21:52, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > патч есть левый который дистры накладывали

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

     
     
  • 6.38, муу (?), 22:08, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    И мозгов тоже.
     
     
  • 7.39, макпыф (ok), 22:10, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > И мозгов тоже.

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

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

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

     
     
  • 8.54, муу (?), 02:19, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    это не локаль, а костыль васянский какойто вот более правильный костыль от бород... текст свёрнут, показать
     
     
  • 9.55, муу (?), 02:21, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ЗЫ патч выше это по сути то что в glibc замерджили, о чём и речь в новости ранее... текст свёрнут, показать
     
  • 8.125, Самокатофил (?), 21:00, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ох лол, как скопировал с крукса, так забыл даже заглушку на случай error code у... текст свёрнут, показать
     

  • 1.5, Смузихлёб (?), 18:32, 03/02/2022 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • –10 +/
     
     
  • 2.6, Аноним (3), 18:36, 03/02/2022 Скрыто модератором
  • +12 +/
     
     
  • 3.46, заминированный тапок (ok), 01:08, 04/02/2022 Скрыто модератором
  • +3 +/
     
  • 2.9, Урри (ok), 18:43, 03/02/2022 Скрыто модератором
  • +2 +/
     
  • 2.11, Аноним (14), 18:47, 03/02/2022 Скрыто модератором
  • +2 +/
     
     
  • 3.18, Аноним (18), 19:32, 03/02/2022 Скрыто модератором
  • –1 +/
     
     
  • 4.48, Аноним (48), 01:31, 04/02/2022 Скрыто модератором
  • +4 +/
     
  • 3.19, Аноним (19), 19:34, 03/02/2022 Скрыто модератором
  • –4 +/
     
     
  • 4.25, Kusb (?), 20:09, 03/02/2022 Скрыто модератором
  • +/
     
     
  • 5.27, Аноним (27), 20:42, 03/02/2022 Скрыто модератором
  • +1 +/
     
     
  • 6.34, Аноним (-), 21:44, 03/02/2022 Скрыто модератором
  • +/
     
     
  • 7.63, Аноним (63), 04:05, 04/02/2022 Скрыто модератором
  • +/
     
  • 3.26, Аноним (26), 20:15, 03/02/2022 Скрыто модератором
  • –1 +/
     
     
  • 4.29, Аноним (29), 21:04, 03/02/2022 Скрыто модератором
  • –1 +/
     
     
  • 5.32, Аноним (26), 21:41, 03/02/2022 Скрыто модератором
  • +1 +/
     
     
  • 6.41, Аноним (41), 22:52, 03/02/2022 Скрыто модератором
  • +/
     
  • 5.53, Ananimasss (?), 02:15, 04/02/2022 Скрыто модератором
  • –1 +/
     
  • 3.36, Смузихлёб (?), 21:58, 03/02/2022 Скрыто модератором
  • +/
     
     
  • 4.58, псевдонимус (?), 03:05, 04/02/2022 Скрыто модератором
  • +1 +/
     
  • 4.64, Аноним (63), 04:18, 04/02/2022 Скрыто модератором
  • +/
     
     
  • 5.99, Vasyan2 (ok), 12:32, 05/02/2022 Скрыто модератором
  • +/
     
  • 2.42, _kp (ok), 00:03, 04/02/2022 Скрыто модератором
  • +/
     
  • 2.57, Аноним (57), 02:57, 04/02/2022 Скрыто модератором
  • +3 +/
     
     
  • 3.59, Аноним (59), 03:19, 04/02/2022 Скрыто модератором
  • +1 +/
     
  • 3.62, Аноним (62), 03:27, 04/02/2022 Скрыто модератором
  • +2 +/
     

     ....ответы скрыты модератором (24)

  • 1.13, Аноним (-), 18:51, 03/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    >В функции семейства printf добавлены спецификаторы формата "%b" и "%B" для вывода целых чисел в двоичном представлении.

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

     
     
  • 2.75, n00by (ok), 12:05, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не вижу %b или %B ни в C17 ни в n2731.pdf среди conversion specifiers для fprintf().
     
     
  • 3.79, Аноним (78), 15:07, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ой беда-то какая...
     
     
  • 4.88, n00by (ok), 20:07, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Беда будет при портировании. :)
     
  • 3.82, Аноним (-), 17:50, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Может это расширение GNU&
     
  • 3.102, Аноним (102), 14:16, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    C17 - это черновик, причём один из многих промежуточных черновиков. Текущий ратифицированный стандарт языка Си - C18 (2018 г.).
     
     
  • 4.117, n00by (ok), 07:02, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И что это меняет? Что там написано в купленном стандарте? Опс, Аноним подписал эту, как её там... NDA и ему положено про это молчать...))

    Тогда идём вот сюда https://stackoverflow.com/questions/81656/where-do-i-find-the-current-c-or-c-s
    и находим ISO/IEC 9899:2018 (C17/C18): https://web.archive.org/web/20181230041359if_/http://www.open-std.org/jtc1/sc2 (N2176)

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

     
     
  • 5.118, Аноним (-), 07:40, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >ISO/IEC 9899:2018 (C17/C18)

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

     
     
  • 6.122, n00by (ok), 09:02, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >>ISO/IEC 9899:2018 (C17/C18)
    > Пиши без ошибок, есть теущий
    > теущий

    Точно. Пиши.

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

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

     

  • 1.20, Аноним (20), 19:36, 03/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В генту убрали юз custom-cflags на крайнем ебилде. Печаль, всего-то надо было убедится что -fsemantic-interposition включен. Мейнтейнеры генту сломали мне глибц своей libxcrypt, теперь вместо того чтобы разгребать свои косяки решили вообще сделать вид что так и надо.
     
     
  • 2.22, Аноним (20), 19:42, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ещё они в прошлом году сломали песочницы браузеров (фф и хрома, опять же через кривую glibc), теперь притянули сотню перловых пакетов непонятно зачем и какие-то инсталляторы питона. Никогда желание найти дистрибутив с более квалифицированными мейнтейнерами не было так велико. Правда, подозреваю что там не лучше и вариантов вообще не будет, тут как-то всё работает ещё.
     
     
  • 3.107, Michael Shigorin (ok), 18:37, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Никогда желание найти дистрибутив с более квалифицированными мейнтейнерами
    > не было так велико.

    http://opennet.ru/48009 :)

     

  • 1.21, Неуклюжий танцор (?), 19:39, 03/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > В функции семейства printf добавлены спецификаторы формата "%b" и "%B" > для вывода целых чисел в двоичном представлении.

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

     
     
  • 2.23, OpenEcho (?), 19:51, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > Лучше поздно, чем никогда

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

     
     
  • 3.77, OpenEcho (?), 13:22, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Судя по количесву минусов, я спалил контору продвигающую тенденцию обязательных зависимостей для контроля популяции :)
     

  • 1.37, Аноним (37), 21:59, 03/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Обьясните не сведующему, почему мир использует C только в системных утилитах, но не использует его во всем остальном, используя php, java и другие быдло языки. Это же идеальный язык. А для тех кто не хочет работать с памятью придумыли rust и go. Зачем нам другие языки, если этих трех для всего хватит?
     
     
  • 2.40, Аноним (27), 22:47, 03/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Круто ты так с++ и java в быдлоязыки записал...
     
     
  • 3.49, Прохожий (??), 01:34, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    C++ таки быдлоязык. Линус Торвальдс не даст соврать.
     
     
  • 4.91, Аноним (-), 08:18, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Линус Торвальдс таки быдлокодер. Эндрю Таненбаум не даст соврать.
     
     
  • 5.111, nvidiaamd (?), 19:36, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тряненбаран просто тролль лесной
     
  • 3.66, Аноним (-), 05:43, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Си плюс-плюс он вообще не упомянул, побрезговал.
     
  • 3.68, Аноним (68), 06:02, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Java это С++--
    Он сделан чтобы быть проще С++, чтобы решить многие его проблемы
     
     
  • 4.108, Michael Shigorin (ok), 18:39, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Java [...] сделан чтобы быть проще С++

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

     
     
  • 5.115, x3who (?), 02:46, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Для выживания в мире энтерпрайза (он же сейчас чуть более чем везде в отличие от САНа), а на рилтайм там и не замахивались никогда.
     
  • 2.43, Аноним (-), 00:22, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >  почему мир использует C только в системных утилитах, но не использует

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

     
  • 2.44, Познавший дзен разработки на C (?), 00:53, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Идеальный язык для отстрела ног. Мамкины самоделкины и бОльшая часть "профессиональных" сишников считают его "кроссплатформенным ассемблером", а он таким не является с выхода ANSI C.

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

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

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

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

     
     
  • 3.98, Аноним (-), 12:07, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну не осилил ты структурировать код на Си. Зачем ты обобщаешь свой негативный опыт на других?
     
     
  • 4.109, Michael Shigorin (ok), 18:40, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так он же дзен познавал, а не разработку... глядишь, ещё мемуары по травмированности напишет :]
     
  • 2.47, Аноним (47), 01:14, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +13 +/
    В основном, потому что в других местах скорость разработки важнее скорости выполнения. Всё зависит от задач. Я так понимаю, что вы спрашиваете, потому что никогда не разрабатывали в рамках MDM (Master Data Management). C, как впрочем и С++ - это сущий ад, когда приложения работает только с нормативно-справочной информацией.

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

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

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

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

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

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

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

     
     
  • 3.51, Ordu (ok), 01:52, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Обычно об этот вопрос сишники-студенты у которых всё остальное "быдло языки" быстро спесь и величие сбивают, когда за пару недель не способны ничего рабочего.

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

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

     
  • 3.56, Аноним (57), 02:52, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Тот редкий случай, когда комментарий анонима в 100500 ценнее, чем комментарии всех зарегистрированных пользователей.

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

    Спасибо!

    // b.

     
     
  • 4.96, Аноним (-), 11:59, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да это тот редкий случай, когда ты высоко оценил высер человека страдающего Жабой говоного мозга.
     
  • 3.61, Аноним (59), 03:24, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У вас java головного мозга.
     
  • 3.97, Аноним (-), 12:06, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Люди пишут ОС на С, прикладной софт и куски юзерспейса, которым нужно ООП на С/С++, но когда дело доходит до MDM, автоматизации бизнес-процессов и потоковой обработки бизнес-данных народ используют чистые ООП-языки вроде C# и Java.

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

     
  • 3.101, Vasyan2 (ok), 13:41, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А в едь можно было всего лишь сказать:
    "на С писать долго а ынтырпрайзу нужна скорость"
     
  • 3.106, anonimous (?), 17:26, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > А если и это не подходит, то давайте 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 ...

     
  • 2.65, Аноним (63), 04:19, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Это же идеальный язык

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

     
  • 2.81, Аноним (81), 16:57, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты хотел спросить почему все еще до сих пор не пишут на SPARK Спрос зависит от ... большой текст свёрнут, показать
     
     
  • 3.110, Michael Shigorin (ok), 18:43, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Если цена програмы ключевой фактор, то Python в 10 раз предпочтительней C.

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

     
     
  • 4.119, Аноним (-), 07:41, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тот, который модный.
     

  • 1.52, Протогонист (?), 02:03, 04/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ещё много работы, однако хороший и годный релиз
     
     
  • 2.73, Аноним12345 (?), 09:50, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Когда можно ждать окончательный релиз ?
     

  • 1.70, Аноним (70), 07:39, 04/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто знает, когда в арче появится?
    а то до сих пор на 2.33 сидим
     
     
  • 2.114, Michael Shigorin (ok), 22:04, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю за арч, но в сизифы нашего города уже завезли: http://git.altlinux.org/tasks/archive/done/_287/294790/
     

  • 1.71, Аноним (71), 08:50, 04/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Что это ещё за Restartable Sequences (rseq). Вчера полдня читал, пытался понять как в коде использовать.

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

     
     
  • 2.105, OpenEcho (?), 16:58, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Может кто скинуть примеры в коде на С / C++, желательно без
    > ассемблерных вставок.

    https://github.com/facebookarchive/Rseq


     
     
  • 3.116, x3who (?), 03:01, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Какая-то замена атомиков бизилупами на вид
     

  • 1.72, lockywolf (ok), 09:25, 04/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Объявлен устаревшим и будет удалён в следующем выпуске механизм prelink и связанные с ним переменные окружения LD_TRACE_PRELINKING и LD_USE_LOAD_BIAS.

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

     
  • 1.80, Аноним (81), 16:47, 04/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Добавлена символическая ссылка /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?

     
     
  • 2.84, Аноним (20), 18:36, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не понял, ты хочешь скрипты сломать? Типа, дистрибутивы из белого списка это где ничего не будет работать? Такими только хомячки пользоваться будут, вон хромос например.
     
     
  • 3.85, Аноним (85), 19:21, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ld не скрипты запускает, а бинарники!!!

    Да:

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

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

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

     
     
  • 4.87, Аноним (20), 20:02, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Скриптам нужно скачивать и компилировать свои бинари… Это в любой ОС так, не только в линуксе, если хочешь чтобы приложение установилось будь любезен запусти бинарь в каталоге временных данных. Если конечно пользователь в принципе не должен запускать бинари, там уж лучше проверять что весь софт подписан нужным ключом и ключ пользователя имеет полномочия на запуск этого софта.
     
     
  • 5.89, Аноним (85), 20:19, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Скриптом скачать сможешь Если есть права запустить компилятор, то даже скомпили... большой текст свёрнут, показать
     
     
  • 6.90, Аноним (20), 21:24, 04/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ну удачи стим под рутом запускать. К стиму то особых претензий нет конечно (хотя веб браузер со свободным доступом в интернет под рутом крутить такое себе), но вот софт там бывает очень разный в нём. С сегодняшними все эти требования это не реально, приложения это шляпа запускаемая в электроне и она должна свободно обновляться или же будут проблемы. А доступ к ptrace и прочему необходим на девелоперских тачках, так что тоже не обрежешь способность вмешиваться в соседние приложения.
     
     
  • 7.92, Аноним (92), 08:48, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно для этого и вношу предложение вести черный и белый список дистрибутив... большой текст свёрнут, показать
     

  • 1.93, Аноним (68), 09:16, 05/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    'уязвимость в функции realpath(), вызванная возвращением при определённых условиях некорректного значения, содержащего неочищенные остаточные данные из стека.'

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

     
  • 1.100, Аноним (100), 12:54, 05/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Редкостный по силе идиотии комментарий Shared libraries уменьшают расход ... большой текст свёрнут, показать
     
     
  • 2.104, Аноним (104), 14:30, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для ASLR система с разделяемыми библиотеками будет иметь большую рандомизацию.

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

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

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

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

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

     
  • 2.112, Michael Shigorin (ok), 21:48, 05/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Неся полную ахинею, Вы не потрудились хоть как-то её обосновать Откройте для се... большой текст свёрнут, показать
     
     
  • 3.121, n00by (ok), 08:04, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> so никаким образом не уменьшают расходы рамы - это протухший миф.
    > Неся полную ахинею, Вы не потрудились хоть как-то её обосновать.
    > Откройте для себя да хотя бы smem(8) -- что забавно, написанный как
    > раз на питоне:
    >[CODE]NAME
    >        smem - Report memory usage
    > with shared memory divided proportionally.
    >[/CODE]

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



    #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

     
     
  • 4.130, Аноним (100), 13:39, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Эникей, мне вот даже интересно Ладно, кому интересно - я поясню на методичку эт... большой текст свёрнут, показать
     
     
  • 5.133, n00by (ok), 14:12, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Как пример, если собрать вот это "#include <iostream>" в so, то оно
    > будет весить бесконечность. Ладно, возьмём базовые типы - оно будет весить
    > половину от того, что он там насчитал.

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

     
     
  • 6.134, Аноним (100), 15:24, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых я не знаю откуда ты родил эту чушь Во-вторых - это можно сделать, оче... большой текст свёрнут, показать
     
     
  • 7.137, n00by (ok), 17:49, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Во-вторых - это
    > можно сделать, очевидно. Только iostream парашный мне даже трогать лень. Это
    > мусорное дерьмо. Слишком сильно заморачиваться нужно.

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

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

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

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

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

     
     
  • 8.138, Аноним (100), 17:59, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, дошколёнок Зачем мне копаться в бездарном дерьме Я тебя просто пошлю соби... большой текст свёрнут, показать
     
     
  • 9.139, n00by (ok), 18:19, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты хочешь, что бы я воспринимал тебе всерьёз, тебе следует не молоть языком... текст свёрнут, показать
     
     
  • 10.140, n00by (ok), 18:22, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Опс, малость накосячил, вот правильная ссылка https code google com archive p ... текст свёрнут, показать
     
  • 3.123, Аноним (123), 12:28, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    С какими опциями ALT Linux линкует пакеты, и какие опции компилятора?

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

     
  • 3.128, Аноним (100), 13:25, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Неся полную ахинею, Вы не потрудились хоть как-то её обосновать.

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

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

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

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

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


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

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

     
  • 3.129, Аноним (100), 13:30, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ладно, мне лень спорить с тутошними эникеями блаженными. Ставлю мат в два хода.


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

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


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

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

     
  • 3.131, Аноним (100), 13:57, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Заодно объясню людям, почему эти эникей-овощи несут херню в контекте той же скор... большой текст свёрнут, показать
     
  • 3.132, Аноним (100), 14:00, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, ещё одно. Дело в том, что любая сошка - это тысячи косвенных вызовов. А данный овощ у нас бегает и рассказывает про эльбрус. И если суперскаляр ещё хоть как-то может компенсировать жопу вызываемую сошками, то вот эльбрус нет.

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

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

     

  • 1.113, Аноним (-), 21:57, 05/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Как эта сучья либц надоела, неужели так трудно сделать набор из 30 функций и больше НЕ ТРОГАТЬ ! Никогда не трогать. И тогда расцветет сад вокруг.
     
     
  • 2.120, Аноним (-), 07:44, 06/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Твой код написанный 10 лет назад перестал на современных и модных дистрибутивах динамически линковаться?
     
  • 2.135, Аноним (135), 15:30, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Используйте musl или LLVM libc
     

  • 1.126, Какаянахренразница (ok), 03:57, 07/02/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Библиотечные функции для min/max есть хорошо, а то каждый раз приходится городить свои макросы.
     
     
  • 2.127, Аноним (-), 06:59, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А использовать операторы сравнения в коду это так трудно?
     
     
  • 3.136, Какаянахренразница (ok), 17:37, 07/02/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А использовать операторы сравнения в коду это так трудно?

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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