-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Warnings under unices #8
Comments
Hi @plzombie . "Красивый" списочек. И частично к этому списку я руку приложил. Значительная часть сидит в |
@zvezdochiot Ладно. В альт-линуксе там списочек, кстати, выглядит не таким ужасающим. Это в debian настройки по умолчанию какие-то уж слишком жёсткие. |
@plzombie , что то эта "отечественная ОС" попахивает чем то средним между яндексом и РосНаном. Т.е. даже ежели она "отечественная", то непонятно о каком отечестве идёт речь. PS: У таких старпёров, как я, слово отечественная всегда асоциируется с народом русским. В данном же случае ассоциация обратная. |
Типовое вроде сообщение. В h-файле члены определены в одном порядке, а в cpp в списке инициализации конструктора - в другом. Visual Studio под виндой тоже на такое ругается. А если включить максимальный уровень предупреждений, там еще и не такая портяка вылазит.
Просто в русской традиции букву "ё" печатать как "е" для экономии чернил. На мониторе же для экономии энергии точки лучше, наоборот, включать, и писать полностью - "отёчественная". 🤣 |
@zvezdochiot @noobie-iv Да ладно вам. Это, наверное, действительно исконно русский, "НАШ", дистрибутив. Разрабатывает ООО "Базальт СПО", а не какой-то там кипрский офшор. Он от Red Hat откололся больше двадцати лет назад. Там уже и скрипты свои есть, и пакеты, и много чего модифицировано. Да и интерфейс мне честно нравится (не вот этот вот модный Gnome3/4), равно как и стабильная работа под виртуалкой Я вас, кстати, поздравляю. Пакет с x86 версией Scantailor приняли в WinGet. Надо только доработать установщик, чтобы правильную версию и идентификатор отдавал |
@zvezdochiot @noobie-iv можете мне подсказать, как вы сейчас в линуксе вообще авторизуетесь в git? Под виндой есть git credential manager, который поддерживает двухфакторную авторизацию. А тут - пароль приложения создавать? |
@plzombie , не знаю, как остальные, а у меня в настройках авторизации и SSH-ключ прописан, и GPG-ключ прописан. Правда вторым я не пользуюсь, ибо эксплуатация муторная. А вот по SSH данные туда-обратно совершенно спокойно гуляют. Создайте себе SSH-ключ, активируйте его в eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519 PS: Про web-морду я уже писал, добавил addon в лису и с его помощью как то зашёл. Как? Сам не понял. |
@zvezdochiot да у меня есть приложение. Получается, просто генерируешь в Developer Settings->Personal access tokens->Tokens (classic) себе индивидуальный пароль и его вводишь вместо основного |
@plzombie , да я без понятия как это всё дерьмо работает. Для меня всё это просто конкретное МММ, то бишь разводилово. Я уж подумывал вообще валить с гитхаба, когда всё это увидел. Дураку же понятно, что никакую безопасность это дерьмо не делает, а лишь усложняет работу обычному пользователю. |
Я под виндой сижу, вход через FF, плагин Authenticator. Когда вход выполнен - git тоже получает доступ. После этого работают и git-bash, и VSCode. Ничего больше не настраивал. |
@noobie-iv у меня под виндой проще - Github app для телефона и git credentials manager (да, я прогнулся под корпорации и поставил приложение:)). С ssh я когда-то игрался. Но проще token вместо пароля создать (и просто тупо вместо пароля его вводишь, как раньше) UPD: Github app, кстати, криворукие люди писали. Нельзя комментировать коммиты. Ты видишь, что кто-то его прокоментировал, ты нажимаешь на уведомление, а в ответ - ничего |
Я вроде основные варнинги убрал. Там остался -Wmaybe-uninitialized в файле |
@plzombie say:
Это определённая когда то "модная" фитча работы с кучей. Полностью тебя поддерживаю. Я сам все |
Я простой инженер, и в плюсах не копенгаген. Но, насколько я знаю, move - это новый вид оптимизации, при передаче объектов, владеющих ресурами. В некоторых случаях, когда ресурс надо передать по цепочке, вызвается специальный конструктор перемещения, внутри которого просто переприсваивается указатель на ресурс, а не делаются лишние "выделим новую память, скопируем из старой, удалим старую". И вызов std::move - это подсказка компилятору, что этот объект - временный, и при копировании можно не копировать его ресурс, а забирать, потому что объект все равно удаляется. А еще современные плюсы насобачились даже вообще пропускать вызовы конструкторов/деструкторов при возвращении переменной из функции (гуглить RVO-оптимизация). Видимо, в старых плюсах на возвращаемые значения надо было делать move, потому они по коду и раскиданы. А в современных компиляторах это наоборот, мешает оптимизации. Судя по типу предупреждения "pessimizing-move", тут оптимизация заблокировалась, и пошли лишние копирования с тормозами. В современных компиляторах достаточно просто возвращать результат, без move: 169: - return std::move(result); И потому же std::unique_ptr живет без конструктора копии - вместо него работает конструктор перемещения. Кстати, студия на такое не ругается. Видимо, тут комплятор про себя матерится, и просто молча делает как надо. |
Тут какая-то шаблонная магия, в которой я не разбираюсь. Но судя по сообщению, возможны баги с неинициализированной переменной. Деварпинг в этой версии - лучший из всех, но и он работает не идеально. Например, если его на эту книгу натравить: https://forum.dwg.ru/showpost.php?p=2046477&postcount=3713, то достаточно много страниц будут кривыми. Возможно, тут это предупреждение и вылазит - надо тестить. Может, это и не предупреждение даже, а реальная ошибка. |
Я вообще, хоть и программист, но совершенно из другой обособленной области, и у нас тут абсолютно свой технологический стек. А c++ я учил ещё по книжкам pre-c++98. @noobie-iv спасибо, попробую разобраться хотя-бы с move |
Я по книжке Страуструпа, по той, которой убить можно. |
@zvezdochiot решил отдельно завести для варнингов под юниксы тикет, чтобы не загромождать под винду
Вот debian12 x64 с
-D CMAKE_BUILD_TYPE=Release
, boost я в список не включал. Завтра попробую эту войну и мир разгрести. Начну с-Wreorder
, потому что это самое тривиальное, и там их куча, больше половины наверноеThe text was updated successfully, but these errors were encountered: