The OpenNET Project / Index page

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

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

29.01.2025 12:42

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

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

  • Для платформы Linux добавлены новые функции sched_setattr и sched_getattr, через которые можно выставить/прочитать параметры планировщика задач. На практике функции позволяют настраивать политики планирования запросов, такие как SCHED_DEADLINE, в которых используются дополнительные параметры, помимо приоритета.
  • В утилиту iconv добавлена поддержка преобразования кодировки по месту (если имя входного и выходного файлов совпадают, iconv теперь автоматически создаёт временный файл и после завершения преобразования заменяет им исходный файл).
  • В заголовочный файл math.h добавлены тригонометрические функции, появившиеся в стандарте C23 (TS 18661-4:2015): acospi, asinpi, atan2pi, atanpi, cospi, sinpi и tanpi.
  • Из проекта CORE-MATH перенесены оптимизированные и использующие правильное округление варианты функций exp10m1f, exp2m1f, expm1f, log10f, log2p1f, log1pf, log10p1f, cbrtf, erff, erfcf, lgammaf, tgammaf, tanf, acosf, acoshf, asinf, asinhf, atanf, atan2f, atanhf, coshf, sinhf и tanhf.
  • Добавлена поддержка расширения ARM64 GCS (Guarded Control Stack) для аппаратной защиты адресов возврата из функций и блокирования эксплоитов, использующих методы возвратно-ориентированного программирования (ROP - Return-Oriented Programming, эксплоит формируется из уже имеющихся кусков машинных инструкций, завершающихся инструкцией возврата управления). ARM64 GCS позволяет использовать для защиты процессов в пространстве пользователя технику теневого стека (shadow stack) - после передачи управления функции, адреса возврата сохраняются процессором не только в обычном стеке, но и в отдельном теневом стеке, который не может быть изменён напрямую. Перед выходом из функции адрес возврата извлекается из теневого стека и сверяется с адресом возврата из основного стека. Для сборки Glibc с поддержкой GCS требуется наличие как минимум версий binutils 2.44 и GCC 15.
  • Проведена большая работа по улучшению генерации кода и повышению производительности математических функций для архитектуры ARM64/AArch64. Реализованы оптимизации с использованием векторных инструкций (SVE, Scalable Vector Extension) и SIMD-расширений (Neon).
  • Для систем с процессорами ARM64/AArch64 добавлена поддержка механизма Memory Protection Keys, применяемого для ограничения доступа к страницам памяти без изменения таблицы страниц памяти.
  • Для систем с процессорами PowerPC64 добавлена поддержка расширенных инструкций для защиты от использования возвратно-ориентированного программирования в эксплоитах.
  • Добавлен новый тип архитектуры arch_kind_hygon для китайских x86-64 процессоров Hygon, построенных на основе технологий AMD.


  • Значительно расширен набор для тестирования glibc, число тестов в котором по сравнению с прошлым выпуском увеличено с 5408 до 6232.
  • Добавлена возможность тестирования сборки glibc с использованием компиляторов C и C++, отличных от тех, что использованы для фактической сборки. Например, 'configure TEST_CC="gcc-6.4.1" TEST_CXX="g++-6.4.1"' и 'configure TEST_CC="clang" TEST_CXX="clang++"'.
  • В опциях, указываемых в файле /etc/resolv.conf и переменной окружения RES_OPTIONS, реализована возможность использования префикса "-" для очистки ранее выставленной опции с данным именем. Например, если в файле /etc/resolv.conf указано "options no-aaaa", то при запуске процесса с переменной окружения "RES_OPTIONS=-no-aaaa" будет отменён запрет на отправку DNS-запросов для получения записи AAAA.
  • В DNS-резолвер добавлена поддержка опции "strict-error", при которой функция getaddrinfo(), если явно не указан тип адресов (AF_UNSPEC), попытается получить значения записей A (IPv4) и AAAA (IPv6) с другого DNS-сервера, если запрос записи A или AAAA к первому DNS-серверу завершился ошибкой. Без указания "strict-error" в подобной ситуации будет возвращён адрес, полученный в результате успешно обработанного запроса, а значение неудачного запроса будет проигнорировано. Например, если сервер вернул запись "A", но выдал ошибку при запросе "AAAA", getaddrinfo без опции "strict-error" сразу вернёт только адрес IPv4, а с опцией "strict-error" попытается повторить запросы к другому DNS-серверу.
  • Данные кодировок, информация о типах символов и таблицы транслитерации обновлены для поддержки спецификации Unicode 16.0.0.
  • Добавлен макрос "_ISOC2Y_SOURCE", позволяющий активировать возможности, определённые в черновике стандарта C2Y. Подобные возможности также можно активировать при помощи макроса _GNU_SOURCE и через флаги компилятора ("gcc -std=gnu2y").
  • Реализован инструментарий benchtest для отслеживания производительности различных функций (как правило, математических).
  • Добавлена настройка glibc.rtld.execstack, через которую можно явно запретить использование исполняемого стека.
  • Добавлена поддержка расширяемого ABI rseq (restartable sequences), предоставляющего механизм для быстрого атомарного выполнения операций (в случае прерывания операции другим потоком, состояние сбрасывается и предпринимается повторная попытка выполнения). В новой версии появилась возможность использования в rseq расширенных возможностей, отсутствующих в изначальном ABI, таких как идентификаторы параллельного выполнения (mm_cid, memory-map concurrency ID) и идентификаторы узла NUMA (node_id).
  • Прекращена поддержка порта для big-endian систем ARC (arceb-linux-gnu).
  • Устранена уязвимость (CVE-2025-039), приводящая к переполнению буфера при выполнении функции assert(). Переполнение возникает при указании слишком большого имени программы (argv[0]). Проблема рассматривается как неопасная, так как за пределы буфера записывается 4 байта, содержимое которых не может контролировать атакующий. При этом интересен сам факт появления в отладочных функциях уязвимости, возникающей из-за ошибки при выводе имени текущего приложения.


  1. Главная ссылка к новости (https://github.com/bminor/glib...)
  2. OpenNews: Выпуск системной библиотеки Glibc 2.40
  3. OpenNews: Уязвимость в OpenSSH, позволяющая удалённо выполнить код с правами root на серверах с Glibc
  4. OpenNews: Уязвимость в Glibc, эксплуатируемая через скрипты на PHP
  5. OpenNews: Уязвимость в glibc, позволяющая получить root-доступ в системе
  6. OpenNews: В сообществе разработчиков Glibc внедрён кодекс поведения
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62633-glibc
Ключевые слова: glibc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (69) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:50, 29/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –12 +/
    И чем она лучше мusl?
     
     
  • 2.3, Аноним (3), 13:56, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А в вашем настольном дистре что, Musl что-ли?
     
     
  • 3.10, Аноним (10), 14:22, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    У меня кстати да, сижу на Alpine, использую на серверах и рабочем десктопе.
     
     
  • 4.20, Герострат (?), 14:45, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И как оно?
     
     
  • 5.26, Аноним (10), 15:11, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Нормально, на первых порах только непонятно, но ничего сложного. На официальной вики в статье musl написано как локали настроить.
    Пакеты дробят сильнее других дистрибутивов. Нет всяких "рекомендованных, но по умолчанию устанавливаемых" пакетов.
    В общем, знакомишься с настройкой локалей + находишь нужные пакеты какие доставить = нормальный рабочий десктоп.
    В установленной системе есть кстати setup- скрипты. Например, setup-desktop. Поставит окружение на выбор, затем минимально дополить и можно работать.
    Apk работает, по сравнению с apt/dpkg быстро.
    Не забудь community репо включить.
     
     
  • 6.75, freehck (ok), 12:32, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Нет всяких "рекомендованных, но по умолчанию устанавливаемых" пакетов.

    Никогда не понимал, почему некоторые так на любят механизм Recommends/Suggests в deb-системах. Может прольёте свет?

    > Apk работает, по сравнению с apt/dpkg быстро.

    Ну тут заслуга не столько apk, сколько мейнтейнеров alpine. Если ты ориентируешься прежде всего на запуск в контейнерах, то ты будешь стремиться сократить размер базовой системы и свести к минимуму количество install-скриптов, что естественным образом сильно ускоряет процесс.

    Ну и конечно, не стоит забывать, что количество пакетов в том же Debian на целый порядок превышает количество пакетов в Alpine. Это тоже неплохо так сказывается на скорости.

     
  • 6.78, Аноним (10), 13:41, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Никогда не понимал, почему некоторые так на любят механизм Recommends/Suggests в deb-системах. Может прольёте свет?

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

    > Ну тут заслуга не столько apk, сколько мейнтейнеров alpine.

    Ответ неверный. Apt/dpkg работает медленно потому что после каждой операции делает sync. Дело здесь не в размере пакетов или их количестве. Разница заметна при установке идентичного ПО.
    Установка Xfce со всеми программами и плагинами у меня в Debian занимала на hdd 40-50 минут. На Alpine - 20 минут.

     
     
  • 7.83, cheburnator9000 (ok), 14:55, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Ответ неверный. Apt/dpkg работает медленно потому что после каждой операции делает sync.

    И правильно делает, dpkg создавали для жестких накопителей. Правильное решение для надежности. Люди ставят ОС чтобы в ней работать, а не форсить апдейты пакетов каждые пол часа как то делают в РАЧлинукс.

    Для dpkg есть "решение" в файл /etc/dpkg/dpkg.cfg добавить строку force-unsafe-io

    Alpine создавал один единственный по сути красноглазый наркоман у которого задача была создать минимальную ОС, такую чтобы работала в режимах in-memory / diskless mode, это единственное ее отличие от почти всех других ОС.


     
     
  • 8.84, Аноним (10), 15:24, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    При чём здесь Arch, в ветке про Alpine И в Arch, к слову, обновления прилетают ... текст свёрнут, показать
     
  • 6.79, Аноним (10), 13:42, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Никогда не понимал, почему некоторые так на любят механизм Recommends/Suggests в deb-системах.

    Попробуйте поставить openssh на сервер, он иксы с собой потащит.

     
  • 4.24, commiethebeastie (ok), 15:07, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На рабочем десктопе, это в WSL что-ли?
     
     
  • 5.25, Аноним (10), 15:08, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Установлен как основная ОС, без прослоек, без контейнеров и тем более без WSL.
     
  • 4.54, vdb (?), 22:59, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И чем musl хуже glibc?
     
     
  • 5.55, commiethebeastie (ok), 23:04, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если для десктопа, то в нём сторонние бинарники могут не запуститься.
     
  • 5.61, Аноним (61), 05:36, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    в теории - тем что там медленный (но простой) аллокатор, на что разработчики говорят "используйте jemalloc через LD_PRELOAD, если вам так надо". На практике, естественно, никому не надо.
     
     
  • 6.73, Аноним (10), 11:11, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На практике разницы не замечал.
     
  • 2.4, Семен (??), 14:06, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Оптимизацией. Musl выигрывает простотой кода и размером, что удобно для встраиваемых систем. Glibc лучше оптимизирован, но кодовая база более запутанная, и разбросана по разным директория, притом логики в этом практически нет, для одной архитектуры файлы реализации могут лежать в одно месте, а для другой может быть совершенно другим, и где по логике должна быть реализация, лежит C файл заглушка, т.е. директория с именем архитектуры ничего говорит, о том есть ли там файлы с реализацией, или там будут файлы заглушки лежать, есть не мало дублирующегося кода.
     
     
  • 3.13, Аноним (-), 14:27, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Glibc лучше оптимизирован

    Что-то это противоречит новости.
    "Из проекта CORE-MATH перенесены оптимизированны и использующие правильное округление варианты функций"
    Т.е в Glibc годами были не оптимальные функции.

     
     
  • 4.15, Семен (??), 14:29, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А вы думаете у конкурентов дела лучше и чудеса математики происходят?
     
  • 2.5, leap42 (ok), 14:07, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Аллокатор памяти (malloc) до 20 раз быстрее. Мне импонирует подход musl к безопасности и корректности работы с памятью, но софт на Си имеет свою специфику - я хочу чтобы он был быстрым т.к. иначе ВСЁ тормозит 🤷‍♂️
     
     
  • 3.8, Аноним (8), 14:14, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Лол это самое быстрое из того что есть.        
     
     
  • 4.17, Аноним (17), 14:37, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет. Мусловский аллокатор ужасен, его обычно сразу заменяют на jemalloc.
     
     
  • 5.45, devl547 (ok), 21:07, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Сейчас всё чаще предлагают mimalloc использовать.
     
  • 4.39, Xo (?), 17:55, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На масле не весь софт работает и специфических оптимизаций меньше, но зато лёгок и менее требователен, потому он востребован на встройках с alpineos и проч.
     
  • 2.6, НяшМяш (ok), 14:08, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В мюслях уже починили тормозной аллокатор? Или getaddrinfo?
     
     
  • 3.47, OpenEcho (?), 21:30, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В мюслях уже починили тормозной аллокатор?

    jemalloc, mimalloc


    >  Или getaddrinfo?

    Давно, в alpine начиная  3.18

     
  • 2.27, Аноним (27), 15:14, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Всем лучше. Прежде всего совместимостью и тем, что под гну.
     
  • 2.30, fidoman (ok), 15:18, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ada с musl не заводится, хотя я пару лет назад проверял, может исправили уже
     
  • 2.46, OpenEcho (?), 21:10, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > И чем она лучше мusl?

    Тем, что можно подсадить на зависимость от версии glibc и заставить все время обновляться, ну и когда надо поиметь (потому как 1000 глаз в опенсырце, как оказалось - не достаточно).

     
  • 2.81, Шычаел Мигорин (?), 13:56, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > И чем она лучше мusl?

    Glibc устарел.
    А так, Musl и Bionic лучше, современее.

     

  • 1.7, Аноним (8), 14:13, 29/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Пока что лучшая библиотека из существующих.
     
     
  • 2.41, Аноним (-), 18:38, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это точно.
     

  • 1.9, Аноним (9), 14:15, 29/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    getenv/setenv не починили?
     
     
  • 2.22, Аноним (22), 15:04, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ссылочку на багрепорт можно? Либо как это проверить у себя? Вроде не возникало проблем пока что.
     
     
  • 3.44, Аноним (44), 20:34, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ссылочку на багрепорт можно? Либо как это проверить у себя?
    > Вроде не возникало проблем пока что.

    Кто-то пропустил тред на лоре про потоконебезопасность этих функций.
    linux.org.ru/forum/development/17857557

     
     
  • 4.52, мяв (?), 22:55, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    не находите странным упрекать пользователя опеннета в том, что он "пропустил тред про потоконебезопасность функций в С_на форуме ЛОРа_" ?
     
     
  • 5.57, Аноним (-), 01:01, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > не находите странным упрекать пользователя опеннета в том

    Неа, что там, что там практически одни и те же лица.
    Я бы мог спросить "не читали ли вы обсуждение на ycombinator или пост на edgedb?"... но какие шансы что кто-то забрел туда?

    Причем оно сделано настолько убого согласно стандарту POSIX)

     
  • 3.58, Аноним (-), 01:03, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можно, просвещайтесь

    github.com/golang/go/issues/63567
    rachelbythebay.com/w/2017/01/30/env/
    evanjones.ca/setenv-is-not-thread-safe.html
    gnu.org/software/libc/manual/html_node/Environment-Access.html#Environment-Access

     

  • 1.11, Аноним (-), 14:25, 29/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Из проекта CORE-MATH перенесены оптимизированные
    > и использующие правильное округление варианты функций

    Т.е. все эти годы функции из божественной жлo6-си неправильно округляли результаты?
    Не то чтобы я был сильно удивлен... но это сильно.

     
     
  • 2.16, Семен (??), 14:35, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эти округления практически не влияют на результат вычисления, там какие-то минимальные погрешности. Я вам открою секрет во многих математических программах так же происходит, например если взять подсчет детерминанта матрицы, то к примеру по формуле с курса линейной алгебры вы просто получите например 1.0, а математические программы вам будут показывать что-то типа 0.999999673223. Попробуйте догадаться почему так происходит.
     
     
  • 3.18, Аноним (-), 14:41, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Попробуйте догадаться почему так происходит.

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

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

     
     
  • 4.21, Семен (??), 14:55, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Вам не кажется что в математических функциях результат вычислений должен быть точен и соответствовать стандартам

    А с чего вы решили, что он не точен и не соответствует стандартам?
    В машинных расчетах есть две противоположности, расчеты или быстрые с определенным уровнем достоверности, или расчеты точные и медленные. Не редко существует очень большое количество формул расчетов одного и того же, и программист может выбрать, что ему важнее в его ПО. Еще один немаловажный факт, математика как наука не стоит на месте, над софтом и математическими программами работает не малое количество аспирантов и докторов наук, появляются более современные и точные методы вычислений, при этом надо не забывать, что glibc это многоархитектурная библиотека, и на каждой архитектуре тоже есть свои ограничения.

     

  • 1.14, Аноним (-), 14:28, 29/01/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –3 +/
     
  • 1.31, Аноним (31), 15:26, 29/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ура, бинарники собранные с прошлой версией превращаются в тыкву!
     
     
  • 2.37, Аноним (3), 16:47, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чего вдруг? Поля в структуры между существующими не вставляли, сигнатуры прежних функций не менялись.
     
     
  • 3.48, OpenEcho (?), 21:35, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Чего вдруг?

    Вы никогда не вречались с:

    "error: GLib >= 2.28 is required" ?

     
     
  • 4.50, нах. (?), 22:30, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И как это >= повлияет на бинарник прошлой версии? Правильно - никак.

     
     
  • 5.51, OpenEcho (?), 22:51, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > И как это >= повлияет на бинарник прошлой версии? Правильно - никак.

    Error - по английски - ошибка, от того самого бинарника, который не запускается, уточняю - не работает, не запускается, не выполняет своих функций, не portable across the same platform.

     
     
  • 6.64, нах. (?), 08:41, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Откуда у тебя в бинарнике _прошлой_ версии - требование >= версии библиотеки которой у тебя нет? У тебя точно все в порядке с причинно-следственной связью и математикой второго класса начальной школы?

    Этот бинарник у тебя, видимо, наоборот - собран с более новой версией библиотеки. Разумеется не запускается, где он тебе возьмет sched_setattr которой у тебя еще просто нет?

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


     
     
  • 7.70, OpenEcho (?), 11:05, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > У тебя точно все в порядке с причинно-следственной связью и математикой второго класса начальной школы?

    Хам. Обыкновенный. Нах... короче

    > Этот бинарник у тебя, видимо, наоборот - собран с более новой версией библиотеки.

    Да ты просто "гений" !!! Рад за тебя что догнал !

    > То что это на самом деле...

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

     
     
  • 8.74, нах. (?), 11:32, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я тебе сопли вытирать не собираюсь тебе бы стало легче если бы ты владел темой ... текст свёрнут, показать
     
  • 5.53, OpenEcho (?), 22:55, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И да, - удачи собрать статически бинарь под амд64 чтоб обойти эту проблему, если там не нароком что то связанно с сетью (а что сейчас с ней не связанно?)


     
     
  • 6.65, нах. (?), 08:48, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    в твоем случае - а ты не сумел отличить glibc от glib - нет никакой проблемы собрать статическую glib. Кроме той что если тебе ту строчку выдала _программа_  - это dl_open, и ее автор имел в виду именно это - с более старой не работает. Зачем ради копеечной glib понадобился dlopen - спроси у автора, может он для stm32 программировал.

    Несовместимость именно glibc выглядит как "unresolved symbol GLIBC_2.41" и там все значительно сложнее. Не надо тебе собирать ничего статически с такими познаниями.

     
     
  • 7.72, OpenEcho (?), 11:09, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > в твоем случае - а ты не сумел отличить

    ...

    > Кроме той что если тебе ту строчку выдала _программа

    ...


    > Не надо тебе собирать ничего статически с такими познаниями.

    Да, ты такого большого мнения о себе, но как был нах, так нах никому и ненужен со своими телепатическими и безпонтовыми советами

     

  • 1.43, Аноним (-), 20:12, 29/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >В заголовочный файл math.h добавлены тригонометрические функции, появившиеся в стандарте C23 (TS 18661-4:2015): acospi, asinpi, atan2pi, atanpi, cospi, sinpi и tanpi.

    Вопрос лютым математикам. Расчёты и всякие числодробилки с каким ПО используете?

     
     
  • 2.49, Аноним (49), 22:15, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вся компьютерная графика, по сути.
     
  • 2.56, commiethebeastie (ok), 23:08, 29/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Microsoft Excel 2024 же
     
  • 2.62, Математик лютый (?), 06:44, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Расчёты и всякие числодробилки с каким ПО используете?

    Исключительно самописанное. На С++. Уже 30 лет как.

     
     
  • 3.66, нах. (?), 08:51, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    да, нормального фортрана на PC в 95м не было, это факт.

    Хммм... нормального с++ правда тоже. Си-с-классами был.

     
     
  • 4.67, Математик лютый (?), 09:02, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Путь эволюции был такой: Фортран -> Фортран + С (для интерфейса) -> C++ (для всего) -> С++ (extern "C", для алгоритмов) + VBA (для интерфейса) -> C++ (для алгоритмов) + StarBasic (для интерфейса). Пока так.
     
     
  • 5.68, Математик лютый (?), 09:04, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Забыл побочную ветвь C++ + Qt, но разработка на паузе из-за невостребованности. Хотя местами красиво, особенно графики нравятся.
     
  • 2.63, Аноним (63), 08:24, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Blas, cblas, lapack, lapacke.

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

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

    Но в принципе ты можешь посмотреть на Maxima, cadabra2, reduce, sagemath, fricas. Ну, и для совсем мастеров своего дела, варезная Magma.

     
     
  • 3.69, Математик лютый (?), 09:06, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > лютые математики численными методами не пользуются

    Не согласен. А продвинутая статистика, моделирование Монте-Карло и прочие типа нейронных сетей?

     
     
  • 4.71, Аноним (63), 11:09, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >продвинутая статистика, моделирование Монте-Карло

    Это всё не продвинутая математика, а счетоводство.


    >нейронных сетей?

    Какую премию выдали Хинтону?

     
     
  • 5.76, Аноним (76), 12:46, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Может, и так. Вам, авторам
    > Blas, cblas, lapack, lapacke

    и получателям премий, виднее.

     
  • 3.77, Еще один (?), 12:54, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > дискретными приближениями не описывается

    Можно подробнее? Что это за приближения, к чему приближения и почему не описывается.

     
     
  • 4.80, Аноним (3), 13:50, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Числа "вещественные" в информатике это, по сути, рациональные числа, с точки зрения математика.
     
     
  • 5.82, Аноним (76), 14:16, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Теперь понятно всё. Действительно, без
    > Blas, cblas, lapack, lapacke.

    не обойтись.

     
  • 5.85, Аноним (-), 16:37, 30/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не правильно. Все "числа" в информатике это математическими объекты. И никакой другой трактовки тут нет. Информатика привнесла понятия "чисел с плавающей точкой, и фиксированной точкой". В русском переводе плавающая, и фиксированная запятые. Да, на этот раз, это чисто инженерно-программисткая тема. Дополнительно, общую картину усложняет наличие в языках программирования типы float, double и т.д.
     

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



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

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