>>Даже и не знаю, как Вам объяснить. std::cout означает, что стандартная библиотека С++ прилинкована (статически и в 20К).
> А я и отвечаю, что ок, статически, но про 20к могли бы
> и не говорить, потому что не имеет никакого смысла.По-моему, аргументы "разжиреет на 3Мб" не имеют смысла как раз из-за этих 20Кб. Цифры объективны, а "всем плевать на размер" - субъективно (даже если так и есть).
>[оверквотинг удален]
> только делаешь шаг влево. У них такого кода полно и в
> libc и в libstdc++, они его используют везде где могут. В
> результате, при "переезде" на нормальные либы, типа musl, получается фуфло, ибо
> гнушные, повернутые (там не все такие, уверен) ребята решили, что ты
> пытаешься скомуниздить их код. И это очень странный подход, т.к. вместо
> конкретного случая нарушения, они не спрашивая делают бяку: у тебя опенсорс
> проект и ты честный? Нам по***, ты своруешь код, мы знаем,
> гарантия 200%. Вот их сегодняшняя логика. Т.е. они так решили вопрос
> не платить и не ходить по судам, им это не надо,
> главное запретить всеми способами якобы воровать их код.
Спасибо за пояснения. По ссылке на openwall видел только техническую информацию, а ошибок и "нотабагов" во всех библиотеках хватает.
>>Иначе говоря, вопросы "размеров бинарей, а также других накладных от статической линковки" -- несколько преувеличены.
> Возращаясь к размерам. Забыли вспомнить главный аргумент против статической линковки -
> слишком много копий одного и того же кода. Программа А использует
> либу Х, и программа Б использует либу Х. В случае статической
> линковки получается двойной размер либы Х. Об этом речь, а не
> о том насколько больше получается бинарник в статике против аппликуха +
> шаренные либы.
А что, кто-то приводит такие аргументы? Есть же LTO. Когда изучал вопрос, а с тех пор компиляторы малость ушли вперёд, тогда можно было определить 2 функции с разным именем но идентичным телом (или даже только побочным эффектом), а в исполняемом файле оказывался один экземпляр (не всегда, но тем не менее).