Denis
Без языков вот это
Denis
Но удаление или изменение этого файла никак не влияет на запуск exe
Denis
Вот что странно
Denis
Поиск blender.desktop в / ничего не дал
Berkus
значит иконку они по другому задают
Berkus
во первых, в каком DE это происходит?
Berkus
(во-вторых наверное лютый офтоп, хоть чат по осям заводи)
Denis
Ubuntu(Gnome)
Denis
Да, за оффтоп прошу прощения
Ivan
Парни, как-нибудь можно сделать так:
int a = 4;
//магия
a++; // ошибка компиляции
Berkus
Ubuntu(Gnome)
https://portland.freedesktop.org/doc/xdg-desktop-icon.html а они ничего такого не делают?
Berkus
Denis
Ivan
Надо добавить в стандарт
Berkus
(олсо если каждое выдуманное говно тащить в стандарт не объясняя зачем это нужно... Объясняй теперь!)
Ivan
Evgenii
Александр
Ivan
Окей. Смотрите
const string a = ok ? "abc" : "";
всё нормально
Александр
если тебе нужна расширенная инициализация, юзай мой пример с лямбдой. самое удобное
Ivan
string a;
if (ok) a = "abc";
// а теперь сделайте мою строку константной“
Александр
это невозможно
Ivan
Может в стандарт добавить?
Александр
тогда слетит нахрен вся система типов
Evgenii
Ivan
Копирование
Александр
move делай
Ivan
Хм, меня устроит это если не будет оверхеда
Anonymous
В зависимости от условия делать переменную конст
Anonymous
Чтобы нельзя было изменять значение
Anonymous
По идеи
Ivan
Всё так.
Александр
Может в стандарт добавить?
static int a;
if (something_runtime()) {
// magic, that makes a const
}
static_assert(std::is_const_v<decltype(a)>, "will fire?");
Александр
Всё так.
ну почему нельзя сделать лямбдой???
Ivan
Ivan
Можно и функцию
Александр
в лямбде нет оверхеда, там тот же RVO/NRVO
Александр
это красиво
Pavel
const int & b = a; ?
Pavel
а, было уже
Pavel
ну, вобщем да. если поведение с переменной меняется, то я бы вообще утащил этот блок в отдельную функцию с константным аргументом
Pavel
а там уж решать, ссылко оно или указатель или что там народ ещё понавыдумывал
Ivan
Может быть не надо.
Berkus
/warn учитесь читать правила чата
Danylo
@berkus сегодня злой какой-то.
Ivan
Как не писать то, что я хочу я знаю и так
Berkus
Stanislav
Anonymous
Anonymous
Denis
Anonymous
Denis
Естественно, но у нас есть необходимость поддерживать такие версии. Понятно, что не для всех систем
Anonymous
Если ты хочешь, чтобы твоё приложение работало во всех GNU/Linux дистрибутивах, то линкуй его статически. Это единственно стопроцентно работающий вариант, но результирующий бинарник будет огромного размера из-за включения внутрь libc, libstdc++ и прочих жизненно важных для его работы библиотек.
При динамической линковке требуется тащить с собой кучу динамических библиотек нужных версий, с которыми собрано приложение, и далее загружать их через такие костыли, как LD_PRELOAD.
Anonymous
Но также следует помнить, что если твоё приложение имеет закрытые исходники, ты можешь линковаться статически только с библиотеками под LGPL и более permissive, но не GPL.
Denis
Спасибо за инфу, полезно. Но у меня задача маленькая сейчас
Denis
Просто прикрутить иконку
Denis
Вещи, которые ты расписал, решаю не я
Pavel
как докер пилить дак ничего, а как LD_LIBRARY_PATH поставить так сразу костыли
Pavel
а если багу найдут в глибц мне опять всё перелинковывать?
Berkus
Pavel
тогда уж давайте и ядра с собой таскать. чо уж
Berkus
так VM так и делает /shrug
Pavel
ато вот современные глибц же не работают со старыми ядрами айяйяй
Anonymous
Anonymous
Stanislav
Anonymous
А вообще, в мире GNU/Linux очень не любят проприетарщину. Если это приложение для внутреннего использования, тогда можно вообще собрать и слинковать динамически под конкретный дистрибутив с нужными версиями библиотек. Но если оно для end-user'ов, то шанс, что его будут использовать линуксоиды, не слишком высокий.
Pavel