Artem
таких как winxp?
Dmitriy / დიმიტრი
ALT Linux 6 кажется
Artem
ну даже не 2.4 ядро, жить можно
Dmitriy / დიმიტრი
у него там компилятор из репозитория gcc 4.5.3 максимум. Хз кстати чего не собрать компилятор поновее, кажется собирали, да гемора больше вышло чем преимуществ
Dmitriy / დიმიტრი
Местами это ограничение искусственное
Не спорю, вполне преодолимо, но профита почти нет
Dmitriy / დიმიტრი
Венгерская нотация именования это плохо?
Sheridan
несите пива и воблы
Artem
венгерская нотация именования это неприятно
Dmitriy / დიმიტრი
Это какой же?
Sheridan
notepad
серёжа
QtCreator
Sheridan
ну я крайний раз в qt-creator писал на плюсах
Dmitriy / დიმიტრი
а я думал IDE уже переменные за тебя называют, было бы удобно
Dmitriy / დიმიტრი
мне легче по нотации поглядеть для чего переменная/функция нужна, чем наводить там и ждать пока эта клятая подсказка всплывет
🦥Alex Fails
правила, ребят. Об IDE в супапро😉
Sheridan
Саппортил я както код на делфи, где оно насквозь было пронизано переменными с названиями типа а1, temp2... Больше не хочу так.
Dmitriy / დიმიტრი
Была у меня идейка довольно странная. Попробовать на цепях маркова и выгрузке из github'а сварганить генератор имен переменных. Но так и не взялся
Dmitriy / დიმიტრი
В этом случае толку мало всеравно. Ты же не будешь писать комментарий везде где a1 используется? Это ещё хорошо, если она локальная и находится в маленькой функции.
cyber
привет, подскажите что почитать про разработку под Linux...я как виндузятник никак не могу разобраться в компиляции разных либ, какие куда устанавливаются, динамические, статические, какую в CMake подключать, какой софт использовать.
серёжа
Можно курс на Stepik посмотреть, Кринкин неплохо рассказывает :)
cyber
принял спасибо
cyber
что думаете на счет книги art of unix programming?
Anonymous
привет, подскажите что почитать про разработку под Linux...я как виндузятник никак не могу разобраться в компиляции разных либ, какие куда устанавливаются, динамические, статические, какую в CMake подключать, какой софт использовать.
Если ты разработчик, то можешь не заморачиваться со сборкой под дистрибутивы. Если проект опенсорц, то найдутся мейнтейнеры, которые будут собирать его для своего дистрибутива как положено.
Anonymous
Опенсорц проект всегда следует линковать динамически с имеющимися внутри дистрибутива -development пакетами (имя_либы-devel в Fedora/CentOS и имя_либы-dev в Debian/Ubuntu). Cmake их отлично умеет находить и добавлять.
Anonymous
Если у тебя проприетарщина, тогда абсолютно всё следует линковать статически, дабы у пользователей (если такие вообще будут) не было проблем с запуском.
Anonymous
Существует куча дистрибутивов, в каждом свои версии пакетов с библиотеками, в каждом они собраны совершенно по-разному. Поэтому для проприетащины исключительно статическая линковка.
Anonymous
Например ты собираешь свой проприетарный пакет внутри Fedora, где все современные либы, а пользователь будет запускать его в Debian, где всё уровня "говно мамонта". Разумеется оно там может вообще не запуститься.
Anonymous
Вот от такого и спасает статическая линковка зависимостей.
Andrey
А как же всякие DLL?
это он про линух
Dumitru
А я думал что про вин
Andrey
А я думал что про вин
я тоже вначале подумал, что про венду
Anonymous
А как же всякие DLL?
Тащить с собой динамические библиотеки моветон. Нужно использовать либо то, что предоставляется системой, либо линковаться с нужными статически.
Anonymous
Пример плохого стиля - Steam.
Dumitru
Ну если линь то всегда можно подтянуть зависимости
babysitter
нужно больше ненависти к дебиану лол
Andrey
в выньду я бы убился все статически линковать
Anonymous
если лицензия позволяет, минуточку с гпл так не выйдет
Тогда городить адские костыли в виде механизма LD_PRELOAD, либо искать либы под LGPL.
Anonymous
в выньду я бы убился все статически линковать
Вот под виндами dll рядом с EXE - это норма.
Andrey
а потом появляются 100мб бинарники
100мб - это какие-то маленькие еще бинарники
Andrey
1,2 Гига, вот это я понимаю бинарь )
Sergey
Венгерская нотация именования это плохо?
мне норм. m_, s_ - определенно имеют смысл
Andrey
О_О
ну, на прошлой работе у нас был 1,2 гига бинарь )
Suigintou45
1,2 Гига, вот это я понимаю бинарь )
туда ещё все файлы остальные в ресурсы затолкать ещё
babysitter
практически я вижу какой это ад, но по крайней мере это хоть какое-то решение для переносимых бинарей. даже торвальдс говорил, что это большая проблема, что мы не можем тупо перенести эльф и запустить на другой системе, притом что бинарная совместимость эльфов вообще не ломается.
Andrey
релизный?
агась "релизный"
Andrey
они его так и поставляли с отладочной хренью 🙈
babysitter
ту же телегу несмотря на код прияно юзать, один бинарь, скачал, запустил и просто работает
Anonymous
Есть, но, как я уже говорил, тащить их с проектом - моветон.
Andrey
🤗 когда я говорил, давайте в релизе сбилдим, они говорили, а зачем 🙈
Andrey
сжечь
я оттуда уволился :)
Anonymous
Прописывать депенденси?
Нужно прописать их в конфиг Cmake, чтобы он добавил пути для инклудов. А dependency для RPM/DEB пакета пропишет сама система сборки.
babysitter
это не просто брюзжание, это ж по перфомансу серьезно бьет
babysitter
что ты там наоптимизируешь в дебажном бинаре
Anonymous
Официальный клиент Telegram Desktop, собранный статически со всеми зависимостями (и Qt), весит около 50 МБ.
Anonymous
ту же телегу несмотря на код прияно юзать, один бинарь, скачал, запустил и просто работает
Не приятно. Официальный бинарь - это кусок дерьма. Собран криво, без оптимизаций, без поддержки системных настроек шрифтов, с протухшими версиями библиотек, гадит везде как малварь.
Suigintou45
Anonymous
ну, на прошлой работе у нас был 1,2 гига бинарь )
Вам следует научить систему сборки делать strip для отладочный инфы.
babysitter
а что мешает его собрать с -O3 ?)
с -O3 и дебажными символами?
Suigintou45
ога
Andrey
Вам следует научить систему сборки делать strip для отладочный инфы.
ну, теперь это целиком их забота ) Я там больше не работаю )
Anonymous
Отладочную инфу надо вырезать из релизной версии.
Anonymous
Qt - это фреймворк. С чего мы ему что-то стрипать? Стрипаешь сам по окончании общей сборки её результат.