Сейчас тот же golang по умолчанию статические монобинарники собирает. Серверный мир потихоньку стремится к отвязке от среды выполнения либо сборкой статиков, либо сборкой контейнеров т.е. упаковыванием окружения в комплекте с приложением. Вопрос бонусной изоляции остальных неймспейсов опустим
Комментарии: 70
Alexander
А что делать если либы хтонические? По 500 МБ приложения хранить бинарниками?
Tiny
Но опять же. Если лицензия библиотек позволяет
Sexst
Да можно ж статиклибу собранную затребовать в общем-то, даже если исходный код библиотеки закрыт Просто не заморачивался никто раньше
Dmitriy
Ок а тогда другой вопрос чем отличается параметр от аргумента в функциях?
Tiny
Емнип надо показывать весь код программы Ничем Если мелка контора то да
Sexst
Не обязательно. Вот код, вот бинарным блобом библиотека. Собирай в кучку и запускай.
Tiny
А по моему обязательно)
Sexst
В линуксе используются бинарные блобы прошивок для всяких беспроводных адаптеров. Не совсем либы, но смысл с точки зрения лицензий тот же
Tiny
Does the LGPL have different requirements for statically vs dynamically linked modules with a covered work? ( ) For the purpose of complying with the LGPL (any extant version: v2, v2.1 or v3): (1) If you statically link against an LGPLed library, you must also provide your application in an object (not necessarily source) format, so that a user has the opportunity to modify the library and relink the application. Поэтому надо предоставлять исходник программы
Sexst
Постом раньше буквами написано, что не обязательно исходники
Tiny
Да? А как пересоберешь приложение?
Sexst
Просто в таком виде, чтобы пользователь мог открытую либу при закрытом софте изменить и с закрытой частью собрать Сборщиком, ептить. Обьектный файл взял и собрал с новой либой
Tiny
И как это можно себе представить? Поставлять скрипт который подменит lib файл в бинарнике?
Sexst
Исходников при этом можешь и не иметь
Sexst
Легко. Достаточно прочитать как всё это работает, а не спорить
Dmitriy
Капец я задал только один вопрос с библиотеками а тут такая дилема развернулась.
Dmitriy
Мотай на ус... Я тут тоже в сторонке послушаю
Dmitriy
Да самое интересное тут другое. Я задал в поисковике вопрос типа : какой вопрос заставит подумать программиста. (я в этом 0) но подобрал интересный вопрос и выбросил для прикола в чат и вот теперь угараю.
Dmitriy
Я так и думал.... хитрюга!
Dmitriy
Только тссс
Dmitriy
Sexst
true/false или 1/0
Dmitriy
Оживил чат Ну это я знаю а что?
Dmitriy
Щас тебе орехи полетят....
Dmitriy
Тссс не пали У меня сейчас ЧПУ кое что интересное делает что-то типа переходника для проверки микросхем.
Dopl
Такой?
Dmitriy
Для него
Dopl
Хмм
Dmitriy
Под планарки Только
Tiny
Ну разве что сразу тащить часть окружения вместе с собой
Dopl
Что за станок?Самосбор или китай?
Dmitriy
Кит. Но самосбор электрика
Dopl
Люминьку будет грызть?
Dmitriy
Мозги (электрика) Да может в принципе
Dopl
Бедный электрик
Dmitriy
Но скорость при этом придётся понижать. Я не в этом смысле. Да и пофиг
Dopl
Фотку станка можешь скинуть? Во сколь обошёлся?
Tiny
Я большей частью под виндой работаю, иногда оч редко под маком. Думал в линуксе gcc везде
Sexst
Все ещё много где ибо инерция пользователей велика. Но современный мир юзает llvm
Tiny
Не знал) думал все красноглазики на gcc
Sexst
Ага. Они тоже многие не знают. Но ни гугол, ни фейсбуки ни мелкософты давно gcc не используют и не контрибьютят в него. Он слишком монструозен и хрупок
Dmitriy
Около 14 это без мозгов и комплектации
Sexst
Или вот почему вот так: https://play.golang.org/p/N1kX0U8szQ9 Причём независимо от языка
Tiny
Ааа
Tiny
Я понял. Линкером потом собрать. Ну может быть выход
Tiny
И кто нибудь так заморачивается?
Sexst
Ну возможность должна быть
Tiny
Все равно меня этот момент не отпускает. Это же пользователю придется поднимать окружение такое же как у разрабов Мало просто вызвать линкера. Придется собрать библиотеку бинарно совместимым компилятором Это же реальная попоболь для пользователя
Sexst
Линукс. Обычно это линукс среда, тут нас ёбнутых хватает, а сборка у многих не вызывает проблем
Tiny
А если приложение собрано своим компилятором?)
Sexst
Кто не юзает clang + llvm, на худой случай gcc - тот ССЗБ
Tiny
А почему gcc упомянут как на худой конец? Под линухой он уже не так популярен?
Sexst
Он не развивается и уже отстаёт об более продвинутого и архитектурно красивого LLVM
Nikita
А едро и глибц уже слангом собирают?
Sexst
Это единичные кейсы, можно и хранить. Особенно если ram дедупликацию запилить нормально, как хотели в линуксе с ksm изначально
Alexander
Ну так-то статика - годное дело :) Если что плюсую за такой подход.
Sexst
Дыа. Динамика не от хорошей жизни, а от жёстко ограниченных ранее ресурсов растёт
Tiny
Нет серебряной пули. Много факторов где длл тащит
Sexst
Тащит потреблением памяти однократным и, в теории, тем, что можно её обновить и сразу "обновится" весь использующий её софт - дыры латать удобно например. Но на практике случается что зависимый софт вообще падает при изменении библиотеки. Такая палка о двух концах
Tiny
Вот ссылка https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDynamic