The OpenNET Project / Index page

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

Для GCC подготовлены патчи для сборки универсальных исполняемых файлов

15.07.2023 21:49

Представлен набор патчей для GCC, позволяющий генерировать исполняемые файлы в формате APE (Actually Portable Executable), которые при связывании приложений со стандартной Си-библиотекой Cosmopolitan дают возможность создавать универсальные сборки приложений, запускаемые в разных операционных системах. Исполняемый файл в формате APE не привязан к отдельным платформам и может быть запущен в Linux, FreeBSD, macOS, OpenBSD, NetBSD и Windows.

Переносимость обеспечивается при помощи библиотеки Cosmopolitan, которая предоставляет универсальную обвязку над системными вызовами различных операционных систем. Формат APE основан на совмещении специфичных для разных операционных систем сегментов и заголовков (PE, ELF, MACHO, OPENBSD) в одном файле. В качестве примеров программ, которые могут быть собраны с библиотекой Cosmopolitan для одновременного выполнения в разных ОС, отмечены bash, curl, git, ninja, lua, cpython и gcc.

Патчи добавляют в GCC 11.2 новый флаг "-fportcosmo", упрощающий перевод программ, написанных на языке Си, на использование библиотеки Cosmopolitan. В частности, патчи автоматизируют решение проблем с выражениями switch и инициализацией структур, которые при сборке с Cosmopolitan в обычном GCC приводят к выводу ошибок и раньше требовали ручного изменения кода, так как макросы, подобные EINVAL, не являются константами в Cosmopolitan, а использование не констант в static struct, const struct и switch...case недопустимо. Код предложенных изменений опубликован под лицензией ISC (упрощённый вариант MIT/BSD).

  1. Главная ссылка к новости (https://ahgamut.github.io/2023...)
  2. OpenNews: Выпуск стандартной Си-библиотеки Cosmopolitan 2.0, развиваемой для переносимых исполняемых файлов
  3. OpenNews: Проект по портированию механизма изоляции pledge для Linux
  4. OpenNews: Redbean 2.0 - платформа для web-приложений, упакованных в универсальный исполняемый ZIP-архив
  5. OpenNews: Cosmopolitan - стандартная Си-библиотека и формат кроссплатформенных исполняемых файлов
  6. OpenNews: FatELF - формат для упаковки в исполняемый файл поддержки разных платформ
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59446-cosmopolitan
Ключевые слова: cosmopolitan, gcc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (216) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, НяшМяш (ok), 22:22, 15/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    > GCC 11.2

    Ну то есть в апстриме можно не ждать.

     
     
  • 2.19, pavlinux (ok), 01:36, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Баян, версия 2023 года.

    2009 https://www.opennet.ru/opennews/art.shtml?num=23948
    Ну и в общем, попыток много было https://en.wikipedia.org/wiki/Fat_binary

    Все они дохнут из-за того, что никто не хочет переписывать функционал
    уже существующих библиотек, типа Boost,  Qt, WxWidget,  GMP, OpenMPI,  ...  

    И ваще, уже 100500 лет есть Java ... java -jar ля-ля-ля.jar  и всё щастливы!

     
     
  • 3.31, Аноним (31), 07:00, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    java давно протухла
     
     
  • 4.36, Аноним (36), 08:17, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Мужики-то и не знают.
     
     
  • 5.66, Дмитрий (??), 12:25, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кстати java в основном используется на серверах.  под десктоп мало где используется. У обычных пользователей установленная java - редкость
     
     
  • 6.78, Аноним (78), 14:08, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Миллионы игроков в Minecraft & Runescape для тебя это шутка?
     
     
  • 7.79, Neandertalets (ok), 14:18, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Миллионы игроков в Minecraft & Runescape для тебя это шутка?

    Хех... Даже пришлось гуглить....

     
  • 7.86, Аноним (86), 15:15, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Эти миллионы игроков используют не старый оригинальный майнкрафт на джаве, а Minecraft Bedrock, который не имеет к джаве отношения вообще. А то и современный Minecraft RTX.

    Вы что, думаете что майнкрафт для Wii U, Switch, PS4/PS5, Xbox всех вариантов, iOS и тп на джаве? Миллионы игроков - это на всех платформах вместе, а не только винде. Безо всякой джавы. Да и под виндой основная масса на Bedrock для нормального освещения и прочего...

     
     
  • 8.138, Аноним (138), 12:21, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты серьёзно так считаешь Ожидаемый контраргумент, но Java-версия попросту незам... текст свёрнут, показать
     
  • 6.80, Neandertalets (ok), 14:20, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати java в основном используется на серверах.  под десктоп мало где
    > используется. У обычных пользователей установленная java - редкость

    Есть не мало софта и на десктопе. На винде - немного, но тоже есть.

     
  • 6.112, Аноним (112), 03:36, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > У обычных пользователей установленная java - редкость

    LibreOffice


     
  • 6.134, pavlinux (ok), 11:54, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Кстати java в основном используется на серверах.  под десктоп мало где
    > используется. У обычных пользователей установленная java - редкость

    Из тех, что у меня есть: Netbeans, Eclipse, Android Studio,  Kubios+MatLab,  Maple,  OWASP, Azureus, BikeXperience    

    Не смотря на "жирность" самой жавы, тормознутость и требование к ресурсам,...  
    только Sun Microsystems  и Java добились реальной аппаратной независимости,
    портабельности и многоплатформенности.  

     
  • 6.151, _kp (ok), 17:19, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    При известных недостатках Явы на десктопе вообще то это один из немногих способов сделать portable  придожение, да под несколько ОС одновременно, и с вменяемой производительностью, и вменяемыми аппетитами к ресурсам, по сравнению с альтернативными решениями.
    В общем, будет еще и жить,и развиваться.
     
     
  • 7.210, Jh (?), 05:34, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно будет. Она в кровавом энтрерпайзе еще тысячу лет будет работать. Тысячи сеньоров-помидоров не откажутся от спринга
     
  • 3.48, Neandertalets (ok), 10:16, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Настолько "щасливы"... Про "запускать только под Java под Windows" ни разу не слышали? Не часто, но сталкивался. Или "не так" под разными ОС работает приложение (Винда, Линь (в самих линях не сталкивался между дистрибутивами)).
    Так что эта многоОСность - весьма условна.
     
     
  • 4.70, Аноним (70), 12:43, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    К слову, конкретно эта проблема писателей, которые нарочно привязывались либо к конкретному рантайму, либо через jni к конкретной библиотеке под конкретную версию ОСи, либо используют запрещённые колдунства с sun.misc.unsafe (которые не являются частью стандартного api, просто так недоступны снаружи, меняются от рантайма к рантайму, зато там возможна работа с указателями)
     
     
  • 5.71, Neandertalets (ok), 12:49, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > К слову, конкретно эта проблема писателей, которые нарочно привязывались либо к конкретному
    > рантайму, либо через jni к конкретной библиотеке под конкретную версию ОСи, либо используют
    > запрещённые колдунства с sun.misc.unsafe (которые не являются частью стандартного api, просто
    > так недоступны снаружи, меняются от рантайма к рантайму, зато там возможна работа с указателями)

       Можно это высказать разрабам из Cisco... Но толку?

     
  • 5.105, _ (??), 22:27, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >К слову, конкретно эта проблема писателей

    К слову тогда любой Ёзык - кросс-платформенный. Всё зло от писак!(С)

    ... хех! И кстати это почти 146% правда :)

     
  • 3.67, Аноним (67), 12:27, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Все они дохнут из-за того, что никто не хочет переписывать функционал

    уже существующих библиотек, типа Boost,  Qt, WxWidget,  GMP, OpenMPI

    главное gcc и утилиты gnu - как минимум можно избавиться от cygwin, остальное не интересно.

     
     
  • 4.233, фф (?), 10:38, 20/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    у гцц и гну утилит проблема не в компиляции под винду, а в отсутствии стандартных позикс библиотек. цигвин собственно их и добавляет
     
     
  • 5.237, Аноним (237), 22:58, 20/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В цигвине утилиты гну (make, rm, cp и тд) которые нужны для сборки проектов на венде, сейчас их можно собрать без танцев с бубноцигвином
     
     
  • 6.238, фф (?), 08:02, 27/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > В цигвине утилиты гну (make, rm, cp и тд) которые нужны для
    > сборки проектов на венде, сейчас их можно собрать без танцев с
    > бубноцигвином

    а что вам мешает просто взять виндовый компилятор и собрать эти гну утилиты под винду без цигвина?

     

  • 1.2, Аноним (2), 22:35, 15/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Какие дыры у данной библиотеки? Файлы весом в целую ОСь?
     
  • 1.3, Анониссимус (?), 22:43, 15/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Бесспорно крутая штука. Теоретически можно канпелировать, например, универсальный бинарник своей программулины и раздавать его на оф. сайте. Но практически это упирается в разные графические стеки разных ОС. Теоретически, эту проблему можно решить, но опять же, практически -- эта задача выглядит слишком большой.
     
     
  • 2.4, Аноним2 (?), 22:53, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    С точки зрения смотри как могу интересный Ещё теоретически может быть полезен... большой текст свёрнут, показать
     
     
  • 3.6, Аноним (6), 23:03, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Этого не случится. Просто оценивай трезво. Сабж ещё трешовее мюслей, и мюсли уже дикий треш, который в прод тянут только абсолютные неадекваты. Ну и потом, проблема не запустить, проблема, чтобы оно вообще работало на платформе. И нет ровно ни одной причины заморачиваться с багами кастомной либц, если нормальная поддержка платформы уже имеется. Но я рад за автора, хорошая развлекуха.
     
     
  • 4.9, Аноним (9), 23:13, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это в какой это психбольнице мусл трешем стал, уважаемый? Срочно скажите, кто вас этому надоумил, что бы не дай бог этого человека на работу не нанять.
     
     
  • 5.12, Аноним (6), 23:25, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В той, в которой не приемлют просадки производительности в половину, а так же arbitrary code execution в printf (оно и логично, что подобное там есть ещё много где, потому что никто не использует и некому проверять).
     
     
  • 6.59, Аноним (59), 10:53, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    в printf везде arbitrary code execution. printf - полн по Тьюрингу.
     
  • 3.11, Аноним (11), 23:20, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    бинарники не запустятся на linux.
    сначала пользователь должен выполнить скрипт вроде от рута...
     
  • 3.25, Бывалый смузихлёб (?), 03:23, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Проблема «универсального» файла для всех осей может начаться с того, что в некоторых бинарнику даже прав на исполнение может не хватить и придётся это руками прописывать

    Не всё же винда, где запускаемым является всё что с расширением .exe

     
     
  • 4.26, Аноним (26), 03:41, 16/07/2023 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 4.106, 48 (?), 00:38, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    а че толку если оно тупо в ошибку падает пока не запустишь из меню "запустить от аминистратора"..
    вобщемта, линуха пошла по тому же пути, со своими се-линуксами, недавно поднимал ssh туннель, все из каробки, все из гуи, и не работает, 2-3 часа гугления и компилирования новых правил, и ура, теперь ssh имеет права настраивать tap. мне вот даже интересно, зачем пихать плагин для нетворкМанагера если оно не работает, очевидно у разраба се-линукс выключен.

    Впрочем, контейнеры победят

     
  • 3.234, фф (?), 10:44, 20/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    скорее всего это будет только лаунчер, который определит систему и уже скачает/поставит/запустит нормально собранный бинарник под нее.
    Вобщем-то под разными юниксами это уже используется - баш скрипт, который определяет нужные флаги/пути/ядро перед запуском основного екзешника (и собственно который запускать - линуксовый или бсд-ный).
     
  • 2.5, Аноним (5), 22:54, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Учитывая что GUI нынешнее поколение программистов умеет ваять только в Javascript для отрисовки встроенным браузером, то не такая уж это большая проблема. Впрочем, на Си уже тоже скоро разучатся писать, к добру или к худу...
     
     
  • 3.10, Михаил (??), 23:18, 15/07/2023 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Писать на Си мало кто умел, увы, всегда, что странно при наличии ядра или ффмпега, где можно было подсмотреть. Но многие имели опыт, а он помогал им мыслить здраво даже в js. А сейчас js-only “программисты” иногда заставляют меня фейспалмить до красного лба
     
  • 3.20, Аноньимъ (ok), 01:40, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Не то чтобы было много альтернатив браузереому гую, оно ещё относительно адекватно и не сломано.

    Недавно нужно было простенький гуй на куте в питоне налабать, запустил куте десингер(или как его там) и чуть не проблевался. Что это за жесть такая? Как кнопку прилепилить к углу окна?
    Потыкался потыкался в этой мерзости, плюнул, сделал всё программно.

    Это же дно полное, проэктирвать что-то невозможно в этой гадости.

     
     
  • 4.44, Аноним (44), 09:37, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Верстаешь просто сеткой и всё.
     
  • 3.23, Аноним (23), 01:51, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да всё это для облачных приложений. Иначе зоопарк системных вызовов.
     
  • 3.29, Аноним (36), 06:16, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ой, а расскажите, как предыдущее поколение умело.
     
  • 3.38, Дедобот (?), 08:20, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >кхе кхе раньше было лучше
     
  • 3.60, Тот_ещё_аноним (ok), 11:16, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> GUI ... для отрисовки встроенным браузером

    Да это не самый плохой вариант. При нынешнем GUI-вом зоопарке.

    >> на Си уже тоже скоро разучатся

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

     
     
  • 4.61, Аноним (-), 11:29, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Оно любому программисту требуется, проблема-то не в Си, а в том с какими проблем... большой текст свёрнут, показать
     
     
  • 5.69, Аноньимъ (ok), 12:35, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Другие языки просто дают иллюзию что можно программировать не думая о типах

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

    >Си этих проблем не скрывает под капотом, превращая явные ошибки в неявное поведение

    Лолчто, это в Си нету Undefined Behaviour? Там где должны быть явные ошибки?

    Остальное тоже бред полнейший...

     
     
  • 6.76, n00by (ok), 13:38, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Лолчто, это в Си нету Undefined Behaviour? Там где должны быть явные
    > ошибки?

    Читайте внимательно вторую строку:

    Note 1 to entry: Possible undefined behavior ranges from ignoring the situation completely with unpredictable results,
    to behaving during translation or program execution in a documented manner characteristic of the environment (with or
    without the issuance of a diagnostic message), to terminating a translation or execution (with the issuance of a diagnostic
    message).

     
     
  • 7.92, uis (??), 16:43, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Перевод: возможное неопределённое поведение может варьироваться между:
    1) Выполнением как-есть с неким результатом,
    2) Дальнейшим определением поведения,
    3) И выводом ошибки во время компиляции или выполнения программы.
     
  • 4.107, C00l_ni66a (ok), 01:01, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Тот же раст для корпоративной разработки больше подходит

    Причём тут корпоративная разработка в принципе - я не очень понял, но да ладно.
    В корпоративной разработке больше подходит то, что позволит сваять софтину за три дня силами полутора кодеров с донной З/П. А учитывая лёрнинг курву раста и тот факт, что популярен он преимущественно либо среди маргиналов-самоучек, либо среди получателей грантов - то становится очень сложно утверждать, что для среднестатистических корпоратов ржавый лучше условного жаваскрипта. И очень смешно видеть утверждения про "пиши по рельсам" в контексте ЯПа с таким количеством абстракций и миллионом способов решения одной проблемы.

     
  • 4.164, _kp (ok), 18:45, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >>Си ну очень "доброжелателен" и требует от прогера знаний

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

     
  • 2.18, Аноньимъ (ok), 01:35, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Турбо Паскаль умел это 20 лет назад.

    Можно было с дискетки программу вообще без ОС загрузить и было зашибись.

     
     
  • 3.22, Аноним (23), 01:49, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    До паскаля это тоже умели - загрузчик называется
     
  • 3.110, Анониссимус (?), 01:16, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Турбо Паскаль умел это 20 лет назад.
    > Можно было с дискетки программу вообще без ОС загрузить и было зашибись.

    Это и сейчас можно сделать на любом достаточно низкоуровневом языке. Только это не нужно: операционные системы не просто так придумали.

     
     
  • 4.111, Аноньимъ (ok), 01:36, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если говорить о всяких юниксах, то их придумали чтобы запускать сишкопрограммы...
     
     
  • 5.141, Анониссимус (?), 13:54, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Если говорить о всяких юниксах, то их придумали чтобы запускать сишкопрограммы...

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

     
     
  • 6.144, Аноньимъ (ok), 14:15, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> Если говорить о всяких юниксах, то их придумали чтобы запускать сишкопрограммы...
    > Их придумали, чтобы управлять другими программами. На сишке или не сишке --
    > не важно.

    Управлять не совсем подходящее слово в таком контексте.

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

    Причем это всё развивалось в рамках очень конкретных программ и аппаратных архитектур.

     
     
  • 7.150, Анониссимус (?), 17:19, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Абсолютно согласен. Просто мне не хотелось углубляться. Ведь тогда придётся вспомнить про прерывания, и тд и тп.
     
  • 4.127, arisu (ok), 09:23, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Это и сейчас можно сделать на любом достаточно низкоуровневом языке. Только это
    > не нужно: операционные системы не просто так придумали.

    их придумали, чтобы не таскать с собой дисковые драйвера. а потом всё стало Очень Плохо.

     
     
  • 5.142, Анониссимус (?), 13:58, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Это и сейчас можно сделать на любом достаточно низкоуровневом языке. Только это
    >> не нужно: операционные системы не просто так придумали.
    > их придумали, чтобы не таскать с собой дисковые драйвера. а потом всё
    > стало Очень Плохо.

    Нет, и нет. У ОС много разных функций, и драйвера -- не единственная. И нет, потом стало Очень Хорошо. Если есть ностальгия по 60-м, можете писать на асме под баре метал. Это не то чтобы очень весело.

     
     
  • 6.147, arisu (ok), 14:57, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > 60-м, можете писать на асме под баре метал. Это не то
    > чтобы очень весело.

    это очень весело, и в итоге намного более прикольно и эффективно, чем современные бегемоты. Project Oberon свидетель.

     
     
  • 7.152, Анониссимус (?), 17:23, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> 60-м, можете писать на асме под баре метал. Это не то
    >> чтобы очень весело.
    > это очень весело, и в итоге намного более прикольно и эффективно, чем
    > современные бегемоты. Project Oberon свидетель.

    Веселье -- вещь субъективная, но эффективность? Если бы это было и впрямь эффективно, этим бы пользовались. Много ли вы можете назвать полезных программ под баре метал навскидку? Я -- всего три: Linux, Grub и memtest86+. А всё потому, что время программиста давно сильно дороже процессорного времени. Потому и эффективность теперь другая.

     
     
  • 8.153, arisu (ok), 17:31, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ясно про Project Oberon ты знаешь ничего но пафосно рассуждаешь 8212 как и ... текст свёрнут, показать
     
     
  • 9.154, Анониссимус (?), 17:47, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Эй, непрофан, так ты кроме оберона на баре метал ничего и не знаешь Я уважаю тр... текст свёрнут, показать
     
     
  • 10.157, arisu (ok), 18:08, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    а ты ещё глупее, чем показался вначале ... текст свёрнут, показать
     
     
  • 11.159, Анониссимус (?), 18:14, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А действительно, непрофан кроме оберона ничего не знает Экие нынче непрофаны то... текст свёрнут, показать
     
  • 3.116, Neon (??), 05:31, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Basic это вообще умел, чуть ли не с 60х.)))
     
  • 2.21, Аноним (23), 01:47, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Системные вызовы разные же. Сплошная условная компиляция.
     
     
  • 3.35, n00by (ok), 07:49, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это как раз не проблема, вызывать всё через диспетчер, который в зависимости от среды исполнения и перенаправит куда надо. Вот с кодами ошибок сложнее, и в данной библиотеке не получилось соответствовать стандарту.
     
  • 2.53, Аноним (53), 10:39, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >универсальный бинарник своей программулины

    Слинкуй свой "универсальный бинарник" статически с операционной системой и запускай на bare железе. Согласись, это удобно-же.

     
     
  • 3.109, Анониссимус (?), 01:12, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>универсальный бинарник своей программулины
    > Слинкуй свой "универсальный бинарник" статически с операционной системой и запускай на
    > bare железе. Согласись, это удобно-же.

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

     
  • 3.165, _kp (ok), 18:50, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Слинкуй свой "универсальный бинарник" статически с операционной системой и запускай на
    > bare железе. Согласись, это удобно-же.

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

     
  • 2.85, Аноним (85), 15:14, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так это самое...
    Я не настоящий художник, но тот же QT можно и под оффтопиком использовать...
    Я даже видел работающее ПО с его использованием :)

    Или есть какие-то не очевидные для меня сложности?

     
     
  • 3.108, Анониссимус (?), 01:10, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Так это самое...
    > Я не настоящий художник, но тот же QT можно и под оффтопиком
    > использовать...
    > Я даже видел работающее ПО с его использованием :)
    > Или есть какие-то не очевидные для меня сложности?

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

     
  • 2.206, Аноним (206), 16:28, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ГУЙ можно писать отдельно.
    А иногда он не сильно и нужен - профит могли бы поиметь куча классных проектов: grep, nmap, ytd-dlp (youtube-dl), ffmpeg, rclone, imagemagick, Dwarf Fortress и т.д. И это назвал всего парочку (всем известных).
     
     
  • 3.207, Анониссимус (?), 17:42, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно, существует куча полезных консольных программ. Но я слабо представляю, зачем консольную программу качать с сайта. Скорее, используется "<YOUR_PM> install grep". Хотя в целях тестирования это действительно может быть удобно!

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

     

     ....большая нить свёрнута, показать (49)

  • 1.8, pashev.ru (?), 23:13, 15/07/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     
  • 1.15, Да (?), 00:13, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Космополитан это все сплошной грязный хак. Автору просто повезло, что есть путь по которому ОС могут прожевать "универсальный" бинарник. Если в каком-нибудь из апдейтов венды прилетит поправленный парсер PE формата, который будет реджектит всякий мусор в файле а не skip'ать, то космополитан превратится в тыкву.
     
     
  • 2.24, Аноним (23), 02:28, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Кто на это решиться в microsoft? Там полно легаси.
     
     
  • 3.34, n00by (ok), 07:46, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там практически всего один линкер, и выпускает его Микрософт.
     
     
  • 4.56, Аноним (56), 10:47, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Было бы очень неплохо, если бы винда перешла на ELF или linux - на PE. ELF вроде простой и понятный. Но архаичный слишком, на JSON слишком похож. PE вроде посовременней - machine-readable структуры, которые можно по памяти разложить, а не по именам секций ориентироваться, перечисляя их.
     
     
  • 5.75, n00by (ok), 13:32, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В Linux уже есть загрузчик Portable Executable -- в составе Wine. Имеет смысл, поскольку заодно предоставляет WinAPI. Иначе зачем он нужен? Универсальность от лукавого. Например, в Linux mremap() предоставляет возможности, коих нет у конкурентов, и они могут заметно упростить код и дать выигрыш по скорости.
     
     
  • 6.101, Аноним (101), 19:59, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    для упразднения этого безобразного зоопарка. Чтобы на всех системах использовался один и тот же формат бинарей, и мне чтобы не надо было поддерживать 3 бэкенда: по одному на каждый из основных форматов. И ещё чтобы была утилитка, которая все бинарники сконвертирует, в которую можно пользователей носом тыкать, когда им нужно работать с неподдерживаемым в моей утилите форматом.
     
  • 6.117, Neon (??), 05:32, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Только конкурентов все 99%
     
     
  • 7.126, n00by (ok), 09:21, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так потому что не используют конкурентное преимущество. Получается порочный круг.
     
  • 5.83, Аноним (83), 14:56, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Исторически, ELF появился позже PE. Во времена рождения Win95, в Linux ещё использовался a.out.
     
     
  • 6.236, phil (??), 22:04, 20/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    При чем тут линукс? ELF появился в SVR4 (1988).
     
  • 2.46, Аноним (46), 10:05, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Космополитан это все сплошной грязный хак. <<<

    Сам по себе язык Си это тоже тот ещё хак:) взять хотя бы, тот же do {...} while(0)

     
     
  • 3.57, Аноним (56), 10:49, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Just use C++.
     
     
  • 4.77, Аноним (46), 14:04, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Предпочитаю Python и С, но да, когда не хватает возможностей С, - хорошо что есть С++!
     
  • 3.166, _kp (ok), 18:58, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>>> Космополитан это все сплошной грязный хак. <<<
    > Сам по себе язык Си это тоже тот ещё хак:) взять хотя
    > бы, тот же do {...} while(0)

    Это не фича Си, а фича препроцессора.
    Без которой можно и обойтись.

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

     

  • 1.17, cheburnator9000 (ok), 01:27, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Если ваш исполняемый файл использует платформо-зависимую библиотеку скажем GTK/Qt то ничего не выйдет.
     
     
  • 2.143, Анониссимус (?), 14:01, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Если ваш исполняемый файл использует платформо-зависимую библиотеку скажем GTK/Qt то ничего
    > не выйдет.

    А если в зависимости от платформы связываться с разными библиотеками? Да, это очень сложно, но ведь возможно?

     

  • 1.27, Ivan7 (ok), 04:50, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Интересно, но не вполне ясно, зачем оно. Да и в реальности будет много разных НО, включая внешние библиотеки, их разные версии для для каждой ОС и т.п. Да и нет проблем загрузить нужную версию приложения для определённой ОС.
     

  • 1.32, n00by (ok), 07:31, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > макросы, подобные EINVAL, не являются константами в Cosmopolitan

    Очень интересный момент.
    Действительно, определены вот так:

    /**
    * Result too large.
    */
    extern const errno_t ERANGE;

    https://github.com/jart/cosmopolitan/blob/18536950b3db37da45641bc5805d82ea6056


    А вот как должно быть в языке Си:

    C17 ballot ISO/IEC 9899:2017

    7.5 Errors <errno.h>

    1 The header <errno.h> defines several macros, all relating to the reporting of error conditions.

    2 The macros are

    EDOM
    EILSEQ
    ERANGE

    which expand to integer constant expressions with type int, distinct positive values, and which are suitable for use in #if preprocessing directives;


    То есть формулировка "Си-библиотека Cosmopolitan" не является корректной.
    Правильнее говорить "похожая на Си"

     
     
  • 2.33, n00by (ok), 07:35, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Определено как extern const, что бы гарантировать наличие объекта в памяти.
    Наверняка при инициализации библиотеки подставляются подходящие для среды исполнения значение.
    То есть в угоду "универсальности" пожертвованы эффективность и соответствие стандарту.
     
     
  • 3.39, Пушок (?), 08:25, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Как всегда чётко и по делу. 👍
     
  • 3.55, Аноним (55), 10:43, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, кэп.
     

  • 1.37, Аноним (36), 08:19, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Вот бы кто сначала придумал для линуксов универсальный бинарник. А то для разных версий убунты разные deb'ы качать надо.
     
     
  • 2.40, n00by (ok), 08:50, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это давно придумано и называется "статическое связывание". Аргументы против него в основном идеологические, подогреваемые заинтересованностью майнтейнеров.
     
     
  • 3.43, Аноним (44), 09:32, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя там вопрос где поставить границу между обязательной динамичность. Динамичностью на малый сегмент прог и полной статичностью. Надеюсь нейросети решат этот вопрос.
     
  • 3.52, Аноним (52), 10:38, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Идеология - это то, что определяет все компромиссы. Так как компромиссы есть во всём, идеология определяет всё. Если вы готовы разбазаривать память и иметь уязвимые и забагованные программы, но гарантированно рабттающие - вам контейнеры и/или статическое связывание. Если вам насрать на гарантии работоспособности хлама, а важнее чтобы не было уязвимостей и багов, и чтобы память рационально использовалась - вам пакеты.
     
     
  • 4.74, n00by (ok), 13:00, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Идеология - это буллшит, обязывающий гарантировать работу нубкитов с LD_PRELOAD и работу сборщикам пакетиков и экспертам по безопасности, видимшим руткиты лишь на картинках.
     
     
  • 5.102, Аноним (102), 20:02, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >LD_PRELOAD

    - удобная вещь.

    >работу сборщикам пакетиков и экспертам по безопасности,

    Причём тут контейнеры?

     
     
  • 6.118, Neon (??), 05:34, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >LD_PRELOAD

    Дико неудобная

     
  • 5.113, Аноним (112), 03:48, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > LD_PRELOAD

    Статическое связывание тебя не спасёт на машине с отладчиком.

    > руткиты

    В пространстве ядра. Какая разница какое связывание?


     
     
  • 6.120, n00by (ok), 08:39, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Для видевших руткиты лишь на картинках попробую объяснить. Нубкит - это "руткит" режима пользователя. Он не запускает процесс под отладкой для трассировки и поиска нужных для перехвата мест, не использует дизассемблер с той же целью, решая NP-полную задачу. Он тупо смотрит импорт/экспорт.
     
  • 5.114, Аноним (112), 04:05, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > гарантировать работу нубкитов

    Вот статическая линковка и пустые надежды на nooby-разрабов ПО, как раз, гарантируют работоспособность эксплоитов, налдолго и во всех дистрибутивах страны (с такой моделью сборки-доставки ПО).
    А там, где сопроводители пакетов и разделяемые либы, там ни дыр в libSSL.a, исправленных полвека назад, ни совместимости для эксплоитейшн-автоматики, зато сплошные удобства для частых обновлений ПО.

     
     
  • 6.121, n00by (ok), 08:42, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > с такой моделью сборки-доставки ПО.

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

    > А там, где сопроводители пакетов и разделяемые либы, там

    Там вопрос из FAQ на хеккерном форуме:
    Q: как закрепиться в системе линукс, где чорная консоль?!
    А: используй LD_PRELOAD, бро!!!111

     
     
  • 7.129, Аноним (129), 09:46, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я правильно понимаю, что вы утверждаете, что те неправы, и что пересобрать и об... большой текст свёрнут, показать
     
     
  • 8.133, n00by (ok), 11:49, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я утверждаю, что вы не понимаете, что такое принципиальное отличие Вы полагаете... большой текст свёрнут, показать
     
     
  • 9.140, freehck (ok), 12:46, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Дорогой Аноним Я думаю, всё гораздо проще Товарищ c говорящим псевдонимом n00b... текст свёрнут, показать
     
     
  • 10.156, n00by (ok), 17:52, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я насмотрелся на эту работу в одном местячковом дистрибутиве Майнтайнер не сп... текст свёрнут, показать
     
     
  • 11.158, freehck (ok), 18:09, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну, может быть не может, а может быть не хочет Это в конце концов не важно, пот... текст свёрнут, показать
     
     
  • 12.162, n00by (ok), 18:30, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Действительно, я и пишу, что понимать и уметь программировать - это не работа ма... текст свёрнут, показать
     
     
  • 13.169, freehck (ok), 19:33, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Дорогой, если мейнтейнер всегда такой дурак, что ж Ну так займи место мейнтей... текст свёрнут, показать
     
     
  • 14.180, Аноним (180), 02:17, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, именно это делают сопроводители пакетов - отправляют исправления сборки... текст свёрнут, показать
     
     
  • 15.186, n00by (ok), 09:55, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В данном случае сопроводители проще поступили в итоге Выкинули rpm5 и взяли r... текст свёрнут, показать
     
  • 14.185, n00by (ok), 09:51, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я и выполнил за него его работу Мою работу приняли и принялись продавать, наруш... текст свёрнут, показать
     
     
  • 15.197, freehck (ok), 11:05, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    То есть ты-то конечно всё выполнил достойно и на уровне, но работодатель этого н... текст свёрнут, показать
     
  • 13.181, Аноним (180), 02:19, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На практике, большинство пакетов пакетируется автоматизированно меньшинством с... текст свёрнут, показать
     
     
  • 14.187, n00by (ok), 09:58, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да А архитектор на всю эту толпу один и работал в RedHat, а теперь в Microso... текст свёрнут, показать
     
  • 13.183, Аноним (180), 02:34, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В организованном дистрибутиве существует общие соглашения, какие настройки опти... текст свёрнут, показать
     
     
  • 14.188, n00by (ok), 10:01, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Подробнее можно почитать по ключевому слову франшиза Так в Винде динамическое... текст свёрнут, показать
     
     
  • 15.214, Аноним (180), 08:57, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты для Винды горе-погромировал даже меньше, чем для Линукса, да Иначе, был бы в... текст свёрнут, показать
     
     
  • 16.215, n00by (ok), 09:44, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вот это да Оказывается, упирается в лицензии То есть аргументы против статичес... большой текст свёрнут, показать
     
     
  • 17.222, Аноним (180), 10:28, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На Винде - да Там разработчики сами себе предоставленины, выбора у них нет А в... текст свёрнут, показать
     
     
  • 18.226, n00by (ok), 10:57, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Опять идеологический аргумент В принципе, можешь остановиться После твоего отк... текст свёрнут, показать
     
     
  • 19.227, Аноним (180), 12:59, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё раз для туговатых на уши просвещаю Вантуз-разработчики линкуются статически... текст свёрнут, показать
     
     
  • 20.230, n00by (ok), 15:24, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    не тобой Ты достаточно подробно рассказал про себя сборщик-любитель нескольких... текст свёрнут, показать
     
  • 9.182, Аноним (180), 02:29, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Такими архитекторами являются разработчики дистрибутивов, которые отлично справл... текст свёрнут, показать
     
     
  • 10.189, n00by (ok), 10:07, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вспомнила бабка, как девкой была Ой, RedHat виноваты, что новое поколение обслу... большой текст свёрнут, показать
     
     
  • 11.223, Аноним (180), 10:29, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Повзрослей ... текст свёрнут, показать
     
  • 7.184, Аноним (180), 02:43, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > обновление мифической .so чем-то принципиально отличается от обновления приложений, когда библиотека в них "вкомпилирована".

    Отличается. Принципиально.
    - Обновление .so не влечет обязательного обновления всех зависимых программ, только несовместимых по API.
    - Модель сборки с разделяемыми библиотеками позволяет осуществлять централизованное управление зависимостями программ. Например, следить и выполнять исправление уязвимостей во всех программах, а не только тех, про которые мы не забыли.

    > как закрепиться в системе линукс
    > используй LD_PRELOAD

    Это не про закрепление (восстановление после перезагрузки), а про эксплуатацию.

     
     
  • 8.190, n00by (ok), 10:16, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    То есть отличие - в количестве обновляемых байт Не принципиальное Неискушённый... большой текст свёрнут, показать
     
     
  • 9.212, Аноним (180), 08:50, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Начинай кодить, когда закончишь приходи А у нас уже всё налажено и работает - т... текст свёрнут, показать
     
  • 8.204, uis (??), 14:20, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я хз что там можно эксплуатировать Если пытаться в setuid программки лезть, то ... текст свёрнут, показать
     
     
  • 9.211, Аноним (180), 08:46, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Эксплуатация - это не только эскалация привилегий, это ещё, как минимум, отказ в... текст свёрнут, показать
     
     
  • 10.217, n00by (ok), 09:54, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я лично тебе не расскажу, потому что слишком долго потребуется объяснять, что та... текст свёрнут, показать
     
     
  • 11.224, Аноним (180), 10:32, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А ниче, что руткиту для установки требуются привилегии суперпользователя ... текст свёрнут, показать
     
     
  • 12.225, n00by (ok), 10:42, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это уже не моя компетенция Сходи к доктору, расскажи о фантазиях К сожалению, ... текст свёрнут, показать
     
     
  • 13.228, Аноним (180), 13:01, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты хоть лично себе, для начала, расскажи, что такое руткит ... текст свёрнут, показать
     
     
  • 14.229, n00by (ok), 15:19, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А был бы ты поумнее, а не просто анонимным сборщиком пакетиков в выдуманном дист... текст свёрнут, показать
     
  • 9.216, n00by (ok), 09:49, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Что бы угнать пароли из браузера или пошифровать данные пользователя - достаточн... текст свёрнут, показать
     
     
  • 10.239, uis (??), 23:55, 14/08/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и чем cat отличается от LD_PRELOAD cat ... текст свёрнут, показать
     
     
  • 11.240, n00by (ok), 10:58, 26/11/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Занятно вот так через время перечитать ветку с начала Особенно вот эти передёрг... текст свёрнут, показать
     
  • 3.58, Аноним (36), 10:53, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, а потом Stable API nonsense.
    И это только про убунту речь, а уж между дистрибутивами…
     
     
  • 4.72, n00by (ok), 12:57, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ага, а потом Stable API nonsense.

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

    А вот золотое правило Linux kernel: DO NOT BREAK THE ***** USERLAND.

     
  • 3.115, Аноним (112), 04:11, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > "статическое связывание"
    > Аргументы против него

    * 100500 версий одних и тех же библиотек на диске и в памяти
    * вечноживые дыры в каждой, спасибо ленивым и тупым разработчикам прикладного ПО
    * заинтересованность в нём зловредных nooby-какиров

     
     
  • 4.122, n00by (ok), 08:53, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> "статическое связывание"
    >> Аргументы против него
    > * 100500 версий одних и тех же библиотек на диске и в
    > памяти

    Спасибо за пример идеологического аргумента.
    Результаты измерений отсутствуют, сравнения занимаемого объёма памяти не производится, фантазия выдаётся за истину.

    > * вечноживые дыры в каждой, спасибо ленивым и тупым разработчикам прикладного ПО

    Они настолько ленивы и тупы, что смогли написать ПО, которое анонимные сборщики пакетиков написать сами не могут, но с продажи которого кормятся.

    > * заинтересованность в нём зловредных nooby-какиров

    Эксперт забыл развернуть мысль, или её вовсе не было?

     
     
  • 5.130, Аноним (129), 09:50, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Результаты измерений - достаточно посмотреть на размер программ на Rustе и потребление оперативы во время сборки, и размер директории с кешем cargo-пакетов. Простая либа, позиционирующаяся как для embeddedа вроде Arduino, занимает в отстрипанном виде 2 мебибайта. А папка кэша занимает 10 гигов. Пихал я в рот такой эмбеддед и такие языки программирования.
     
     
  • 6.135, n00by (ok), 11:57, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Результаты измерений - достаточно посмотреть на размер программ на Rustе и потребление
    > оперативы во время сборки, и размер директории с кешем cargo-пакетов.

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

     
  • 5.131, Аноним (112), 11:27, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И так вижу, при установке и обновлениях, сколько пакетов используют общие библио... большой текст свёрнут, показать
     
     
  • 6.136, n00by (ok), 12:05, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Результаты измерений отсутствуют
    > И так вижу, при установке и обновлениях, сколько пакетов используют общие библиотеки.

    Давайте же уверуем словам гуру! Математика, статистика и метрология - луддитские лженауки!

    >> забыл развернуть мысль
    > Мысль всё та же: одинаковые сборки слинкованные с устаревшими библиотеками - праздник
    > для скрипт-кидди с готовыми автоматизированными фреймворками.

    То есть мысль, что при обновлении статически слинкованной библиотеки этот "аргумент" превращается в тыкву, так и не появляется.

     
     
  • 7.178, Аноним (180), 01:28, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Математика, статистика и метрология - луддитские лженауки!

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

    > обновлении статически слинкованной библиотеки

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


     
     
  • 8.191, n00by (ok), 10:27, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Мне необходимо и достаточно напомнить свою позицию из 40 Аргументы против нег... текст свёрнут, показать
     
  • 3.123, freehck (ok), 08:58, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Это давно придумано и называется "статическое связывание". Аргументы против него в основном идеологические

    Однако. То есть, вот на диске GNU/Linux-системы по сравнении с Windows занимают меньше места аж на порядок, а это оказывается называется "идеологические"...

     
     
  • 4.124, n00by (ok), 09:07, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Это давно придумано и называется "статическое связывание". Аргументы против него в основном идеологические
    > Однако. То есть, вот на диске GNU/Linux-системы по сравнении с Windows занимают
    > меньше места аж на порядок, а это оказывается называется "идеологические"...

    Да, именно идеологические.

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

    Но он владеет в основном демагогией, потому написал как есть.

     
     
  • 5.128, freehck (ok), 09:24, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я конечно понимаю, что бремя доказательства лежит на утверждающем, чайник Рассел... большой текст свёрнут, показать
     
     
  • 6.132, Аноним (112), 11:35, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Фиг с ним, с дисковым местом. Оперативку жалко. Вот уж, где жор, когда несколько приложений на, скажем, Электроне одновременно запущены. А если их закрывать-открывать, то опять же разница вида и по скорости запуска, когда программы, связанные динамически, повторно стартуют почти мгновенно, а в это время статические всё ещё скрипят диском.
     
  • 6.137, n00by (ok), 12:12, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я сделаю вид, что не заметил рефлективную попытку гуру вызвать стадный рефлекс у... большой текст свёрнут, показать
     
     
  • 7.139, freehck (ok), 12:36, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Однако А ведь я только лишь обращаю внимание на то, что Вы, по-видимому, не явл... большой текст свёрнут, показать
     
     
  • 8.163, n00by (ok), 18:36, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Легко на диске GNU Linux-системы по сравнении с Windows занимают меньше места ... текст свёрнут, показать
     
     
  • 9.167, freehck (ok), 19:01, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мда, как всё грустно Видимо, придётся объяснять элементарные вещи Ну да, испол... большой текст свёрнут, показать
     
     
  • 10.192, n00by (ok), 10:33, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Обстоятельство одно Ты сравнил динамическое связывание с динамическим связывани... текст свёрнут, показать
     
     
  • 11.198, freehck (ok), 11:22, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Мне основательно надоело, что ты мне приписываешь утверждения, автором которых я... текст свёрнут, показать
     
     
  • 12.218, n00by (ok), 10:03, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А на самом деле ты профессиональный демагог, сел в лужу и пытаешься отрицать сво... текст свёрнут, показать
     
  • 7.149, C00l_ni66a (ok), 16:55, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Бремя доказательства лежит на утверждающем.

    @
    >"ну я вот кароче чот сканпелировал и оно мало весит давай пруфай скока у тебя)))))))"

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

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

     
     
  • 8.160, n00by (ok), 18:16, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Обычное зеркало Он, в принципе, дал мне право писать ему в ответ вообще любую ч... большой текст свёрнут, показать
     
     
  • 9.168, freehck (ok), 19:07, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    То есть ты понимаешь, что пишешь чушь, но всё равно её пишешь Молодец ... текст свёрнут, показать
     
     
  • 10.194, n00by (ok), 10:40, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    То есть ты безусловно бы таким правом воспользовался, в отличите от меня Спасиб... текст свёрнут, показать
     
  • 9.172, C00l_ni66a (ok), 20:23, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чем ты успешно воспользовался, класс Действительно, зато обширно используется т... текст свёрнут, показать
     
     
  • 10.193, n00by (ok), 10:37, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Априори я считаю человека технически грамотным Ты зарегистрировался только что,... текст свёрнут, показать
     
     
  • 11.208, C00l_ni66a (ok), 17:54, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Имеет, с точки зрения занимаемых ресурсов - это и есть статическое связывание ... большой текст свёрнут, показать
     
     
  • 12.219, n00by (ok), 10:07, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ЧТО Динамическеое - это когда есть основной исполняемый файл и отдельные библио... текст свёрнут, показать
     
     
  • 13.231, C00l_ni66a (ok), 20:15, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее А что не так Держи в курсе Про формализм я уже упоминал Эффект от м... большой текст свёрнут, показать
     
     
  • 14.232, n00by (ok), 09:25, 20/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не близок, ведь отличие связываний одного от другого -- во времени этого св... большой текст свёрнут, показать
     
  • 7.155, uis (??), 17:48, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нифига себе У меня прога для индексации и поиска по zip архиву весит 15Кб С ди... большой текст свёрнут, показать
     
     
  • 8.161, n00by (ok), 18:20, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален Ну, раз с динамической, прибавляйте к 15Кб размеры вон т... большой текст свёрнут, показать
     
     
  • 9.171, uis (??), 20:05, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Мы размер бинарников хелловорлдов сравниваем или нечто другое Ты забыл добавить... текст свёрнут, показать
     
     
  • 10.195, n00by (ok), 10:44, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Априори я ничего не сравниваю Я утверждаю, что аргументы против против статиче... текст свёрнут, показать
     
     
  • 11.205, uis (??), 14:38, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    - И прибавляй libc so туда, потому что так мои доводы выглядят лучше - Ок, приба... текст свёрнут, показать
     
     
  • 12.220, n00by (ok), 10:14, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    У меня не используются User32 dll, а тем более ws2_32 dll первую ещё могу понят... текст свёрнут, показать
     
  • 12.221, n00by (ok), 10:28, 19/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще, 949 против 30 я считаю вполне годным показателем для столь солидной библ... текст свёрнут, показать
     
  • 7.179, Аноним (180), 01:37, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > сколько гигабайт экономится разделяемой библиотекой

    Ровно столько, сколько ты в неё вынес функций из основной программы.

     
  • 6.170, _kp (ok), 19:41, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ключевое слово - используете а не балуетесь И свежеустановленной Убунтой так ... большой текст свёрнут, показать
     
     
  • 7.173, freehck (ok), 20:38, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    _kp, вы слишком серьёзно отнеслись к данному размышлению материал для него я вы... большой текст свёрнут, показать
     
     
  • 8.174, _kp (ok), 22:09, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я Вам назвал более точно Никто не использует системы в виде чистой установки По... большой текст свёрнут, показать
     
     
  • 9.199, freehck (ok), 11:44, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну что ж, возможно мои данные слегка устарели, всё-таки я ушёл с GNU Linux в 201... текст свёрнут, показать
     
  • 7.177, uis (??), 00:34, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Linux система для программирования, опять же не на все случаи.  ~18-33Гб.

    Linux система для программирования: gcc, binutils, qtcreator, plasma, xfce(да, я установил два окружения), chromium, исходники ядра, заголовки для каждего пакета, ебилды на все случаи жизни и всякая мелочь. <7.5Гб вся система с учётом барахла в хомяке.

     
     
  • 8.196, _kp (ok), 10:58, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    У меня обычно что одно из kde mate и помимо сборки под десктоп добавляется и для... текст свёрнут, показать
     
  • 8.200, arisu (ok), 12:11, 18/07/2023 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.41, Аноним (83), 09:11, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Путаешь бинарники и пакеты программ.
     

     ....большая нить свёрнута, показать (94)

  • 1.42, Аноним (44), 09:30, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Ну всё этот ваш Линукс можно собрать переносимо и нативно запускать на шинде.
     
     
  • 2.68, maximnik0 (?), 12:29, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >и нативно запускать на шинде.

    Давно ,очень давно можно было.Ещё во времена вин98.Был
    такой загрузчик- loadlin с бантиком,запускал Линукс из под винды.
    Да, нужен был хак (ums-dos ??? Или как он там назывался)для файловой системы фат,подменял название файлов и атрибуты,должен был быть включен в ядро,у популярной на тот момент  сласквари уже был готовый 130мгб ЗИП образ,просто распоковывался и работал.
    Чуть позже для 2000 и xp тоже выпустили драйвер  чтобы линь под этими операционками работал ,требовался правда падченное Лин ядро.Правда уже вмваре появился,проще в нем было запускать...

     
     
  • 3.201, _kp (ok), 13:07, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Небольшое уточнение. Чистая система, это свежеустановленная система, настроеенная, с ПО для работы. ("Стороннее" в подсчете упускал)
    Это то состояние, в котором есть смысл сделать первый бекап/снапшот.

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

    >>loadlin

    Когда функционал grub и lilo был слабый, так ради loadlin, делал раздел с DOS примерно до 2010г. ;)
    А это позволяло разводить _шуточные_ споры, что Линух тоже всего лишь надстройка над DOS. ;)

     
  • 2.209, Аноним (209), 19:21, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Открыл для себя WSL2?
     

  • 1.45, Аноним (45), 09:47, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Не понятно зачем это всё. Кроме форматов файлов есть еще системные вызовы и на этом всё заканчивается
     
     
  • 2.50, Dzen Python (ok), 10:20, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ждем, когда библиотека переродится полноценную VM, чтобы решить проблему разных окружений.
    Хотя...стоп. Джава, ты ли это?
     
     
  • 3.63, arisu (ok), 12:06, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ждем, когда библиотека переродится полноценную VM, чтобы решить проблему разных окружений.

    я немножко не понял, зачем ждать то, что уже сделали: https://github.com/jart/blink

     
  • 3.175, _kp (ok), 22:14, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > когда библиотека переродится полноценную VM, чтобы решить проблему разных окружений.

    Тогда будут с теплотой ностальгировать о шустром и компактном Электроне. :)


     
  • 2.84, Don (??), 15:04, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вроде минимальный набор системных вызов тоже поддерживаются: файлы, сокеты и тп
     
  • 2.103, Аноним (103), 21:15, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Переносимость обеспечивается при помощи библиотеки Cosmopolitan, которая предоставляет универсальную обвязку над системными вызовами различных операционных систем.

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

     
     
  • 3.125, Аноним (45), 09:19, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    почему бы не балаболить а действительно посмотреть что оно поддерживает?
     

  • 1.47, Аноним (47), 10:07, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Я очень надеюсь, что это cargo cult bloatware отклонят. Практической пользы от этой космополитан-diversity 0.
     
  • 1.49, Аноним (47), 10:17, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вчера читал исследование про уязвимости в парсерах ELF-файлов В общем, все парс... большой текст свёрнут, показать
     
     
  • 2.82, Аноним (83), 14:53, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вероятно это потому, что для x86_64 другого endianness не бывает. А вот для POWER, MIPS наверняка это поле проверяется.
     
     
  • 3.89, uis (??), 15:35, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ARM тоже. Обе разрядности.
     
  • 2.90, uis (??), 16:12, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Это приводит к тому, что endianness надо знать наперёд при парсинге формата.

    https://man7.org/linux/man-pages/man5/elf.5.html
    Ложь, поклёп и провокация! Читаешь шестой байт - вот тебе endianess

     
     
  • 3.100, Аноним (100), 19:48, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только ядро Linux и ld.so его не читают и безропотно грузят файлы, в которых указана несовместимая endianness. А инструменты реверсинга - читают и используют. Поэтому кульхацкеры ставят неправильное значение. Программа всё равно работает, а вот декомпиляторы и дизассемблеры сосут.
     
     
  • 4.104, uis (??), 22:12, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > $ gcc -nostdlib main.c -mbig-endian -o test
    > $ ./test
    > bash: ./a.out: cannot execute binary file: Exec format error

    ЧЯДНТ?

     
     
  • 5.119, Аноним (119), 08:19, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    За что купил - за то и продаю https://tmpout.sh/2/3.html
     
  • 2.176, _kp (ok), 22:22, 17/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > игнорируется endianness.

    Ну, забыли объявить deprecated, живых массовых систем, ради которых это надо было уже нет.

     

  • 1.62, Аноним (62), 11:42, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Садо-мазо. Проще уж просто взять и принять PE за стандарт. Под виндой он и так работает. Под DOS есть HX. Под линухом есть Wine. Андройд это жаба под линухом, так что не в счет. Остальные поделки лесом, ибо кто прогибается под агрессивный маркетинг, тот должен страдать.
     
  • 1.87, uis (??), 15:28, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Но работает только на одной архитектуре и в одном порядке байт. Зачем?
     
     
  • 2.88, uis (??), 15:30, 16/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Так ещё и препроцессор использовать нельзя.
    #ifdef WIN32 всё поломает.
    Ну либо использовать только библиотечные вызовы, что грустно.
     
     
  • 3.202, Аноним (209), 13:09, 18/07/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну либо использовать только библиотечные вызовы, что грустно.

    Ну а что вы хотели? Кроссплатформенность - она такая. Тут либо крестик снять, либо трусы надеть.

     

  • 1.97, YetAnotherOnanym (ok), 17:40, 16/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Я _очень_ надеюсь, что авторы этих патчей, вместе с самими патчами,  разрабами ГЦЦ будут отправлены лесом.
     
  • 1.145, xsignal (ok), 14:23, 17/07/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нафиг не надо, более бредовой идеи сложно придумать.
     

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



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

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