Просмотр сообщений
|
Страниц: [1] 2 3 ... 15
|
3
|
Qt / Установка, сборка, отладка, тестирование / Упростить дерево проекта
|
: Октябрь 03, 2022, 15:13
|
Qt Creator 4.12.4 Есть CMake проект с очень глубокими вложениями исходных файлов, в дереве проекта разбивается на сорцы и заголовочники, и в каждом подразделе открывает папку от папки пользователя, а не от корня проекта, в общем вложенность получается очень большая. Как уменьшить в дереве проекта эту вложенность?
|
|
|
9
|
Программирование / С/C++ / Re: Слияние диапазонов
|
: Январь 25, 2022, 16:21
|
С вектором "в лоб" решается, тупым пробегом итератором и сравнением по std::pair::first. Дальше сравнение по std::pair::second и логика "слияния". С double через задание точности, с какой точностью должны диапазоны пересекаться
|
|
|
10
|
Qt / Вопросы новичков / Re: Авторизация в приложении
|
: Ноябрь 20, 2021, 22:38
|
Если вы в онлайн-банке/почте/магазине/др.сервисе забудете пароль, вам его ни кто не "вспомнит", не покажет и не восстановит, даже если вы прийдёте в банк с паспортом. Админ, в лучшем случае, сбросит старый пароль и назначит новый (или вам даст возможность назначить новый). Это сделано для того, чтобы без вас на ваш акаунт не было доступа даже у сотрудников банка администратора сервиса.
Ха-ха, попробуйте зайти в сбер, введя свой пароль в любом регистре. Уверяю, это получится.
|
|
|
11
|
Qt / Установка, сборка, отладка, тестирование / Re: Установочный пакет под Ubuntu
|
: Июль 15, 2021, 13:49
|
Вся проблема в том, что у разных дистров и/или разных их версий совместимости по библиотекам нет от слова совсем. К примеру, мой бинарник, собранный под 10м Дебианом не запускается под 18-й Убунтой. Поэтому тут выход один: делать deb/rpm пакет под конкретный дистр, и в него (в пакет) загонять зависимости на другие пакеты с нужными либами. В конечном счете при установке своего пакета система либо автоматом доставит все необходимое, либо даст юзеру понять, чего не хватает и что надо ему руками поставить.
|
|
|
13
|
Qt / Многопоточное программирование, процессы / Re: waitForDone
|
: Июль 08, 2021, 09:45
|
Следующим этапом может быть use-case когда надо подождать, но какое то конечное время. С пустым сигналом просто будет deadlock на все приложение если фоновый поток заблокируется. Ну мало ли, из сети что то не пришло, или файла какого нибудь на месте не оказалось.
|
|
|
14
|
Qt / Многопоточное программирование, процессы / Re: waitForDone
|
: Июль 07, 2021, 22:11
|
Смысл в том, чтобы запустить параллельную задачу, встать на wait_condition и ждать пока в лямбде этот wait_condition не занатифает кто либо из параллельного потока.
Это понял, но тогда надо засисять доступ к fullConfig (по сути очередь), а делать это обычно неудобно, напр очередь пуста, но последняя задача еще тикает. Конечно охаять чужой код - много ума не надо, но впечатление что с "современным С++" забот заметно больше - и очередь (аналог), и примитив синхронизации - все то чего хотелось избежать Да, а "послать чистый лист бумаги" - так никто и не допер? Не может быть, наверное это просто "слишком очевидно" вместо условия !fullConfig.empty() можно завести свой булевый флаг в фоновом треде, который будет означать отсутствие активных задач.
|
|
|
15
|
Qt / Многопоточное программирование, процессы / Re: waitForDone
|
: Июль 07, 2021, 13:17
|
Ну ладно, попробуем разобраться. Опять та же непонятка: как Вы собираетесь "подкидывать задачи по ходу дела"? Я просто сигналами, а Вы? Какой-то fullConfig, откуда его брать - хз.
Вообще, насколько это "адекввтно"? Нужны ли такие средства для решения задачи что выглядит весьма скромно? (waitForDone)
Я просто скопипастил кусок своего кода и рабочего проекта. Буст там исключительно для асинхронности (от Qt отказываемся). Смысл в том, чтобы запустить параллельную задачу, встать на wait_condition и ждать пока в лямбде этот wait_condition не занатифает кто либо из параллельного потока. Замените бустовый контекст на QThread а лямбду на слот, и получится то же самое. upd: нашел еще один проект, с похожей асинхронкой, почистил от всего лишнего, может натолкнет на мысли
|
|
|
|
|