Vladislav
зарегистрироваться там можно, но нужно подождать
Oleg
https://gcc.gnu.org/bugzilla/createaccount.cgi
> …contact gcc-bugzilla-account-request@gcc.gnu.org to request a GCC Bugzilla account.
Но да, подсказка от кого-нибудь с опытом может быть в тему, чтобы самому через это не продираться.
Anonymous
Не секрет. gcc ругается на неиспользуемое объявление типа is_transparent в компараторе.
using is_transparent = int например.
Vladislav
в каком смысле - в компараторе?
Anonymous
https://wandbox.org/permlink/rxnaVyogc27EpdLf
Anonymous
Без -Wno-unised-local-typedefs ругается на is_transparent. А не должен. Clang молчит и правильно делает
Vladislav
да, интересный баг
🦥Alex Fails
Vsevolod
https://neopg.io/ - кажется неплохим примером миграции огромного проекта на plain c на c++
Vsevolod
https://neopg.io/blog/cplusplus/ - особенно это
Alexander "SonnySlave"
Alexander "SonnySlave"
а хотя у него Си головного мозга
🦥Alex Fails
и это не лечится
Vsevolod
написать какаху на c++ намного проще, чем на c
Vsevolod
поэтому для проектов, где много разработчиков, я бы предпочел plain c :)
🦥Alex Fails
зависит от объема проекта. на 10к и больше локов я б точно Си не брал)
Alexander "SonnySlave"
Vitaliy ◀️TriΔng3l▶️
void *
нет
Alexander "SonnySlave"
Vitaliy ◀️TriΔng3l▶️
И с умными указателями тем более
Alexander "SonnySlave"
Vitaliy ◀️TriΔng3l▶️
Vsevolod
@zamazan4ik чем сложнее синтаксис языка, тем проще написать неподдерживаемую какаху
Alexander "SonnySlave"
я вот конкретно сейчас переписываю здоровый алгоритм с Си на кресты. Спасибо писателю за сие поделие
Alexander "SonnySlave"
это не холивары
Vsevolod
@zamazan4ik ну, я потому и думаю о миграции на c++, да
Vsevolod
менеджер памяти на goto - это сильно
Vsevolod
кстати, я тут еще вспомнил, что мы хотели во фре pkg tool перевести на c++, но там была проблема с gcc 4.2 :\
Vsevolod
а на mips32 и sparc64 до сих пор все тот же gcc 4.2
Alexander "SonnySlave"
Alexander "SonnySlave"
Vitaliy ◀️TriΔng3l▶️
Vsevolod
в этом pkg 99% работы - это дергать sqlite и тупить в хеш таблицы
Vitaliy ◀️TriΔng3l▶️
А вместо умных указателей архитектура, в которой чётко понятно, кто что выделяет и освобождает
Ioann_
Могу точно сказать, что mkl написан на 80% на pure asm
Vitaliy ◀️TriΔng3l▶️
Модульная
Alexander "SonnySlave"
Vsevolod
c++ более сложный язык, но писать на нем проще и безопаснее - это факт
Vitaliy ◀️TriΔng3l▶️
Vsevolod
все эти пляски с goto и макросами - это верный путь выстрелить себе в ногу и сделать дырку или утечку памяти
Vitaliy ◀️TriΔng3l▶️
Пулы использовать всякие
Vsevolod
этим занимается аллокатор, зачем в него вмешиваться?
Max
Vsevolod
он всяко делает это лучше, чем наколенные пулы
Anonymous
Anonymous
Поищи.
Alexander "SonnySlave"
Alexander "SonnySlave"
я не топлю за повсеместное использование std::shared_ptr, это дорого
Ioann_
Никто еще не знает о накладных расходах. Подразумевается лишь что их не должно быть. Остальное - дело тестов.
Крылатый
Alexander "SonnySlave"
Ioann_
Может и верю, честно говоря. А ссылка есть ?
Alexander "SonnySlave"
Anonymous
Кстати, а есть хороший пример хорошего использования std::shared_ptr? В тот раз сошлось на том, что надо пилить менеджеры ресурсов нормальные.
Vitaliy ◀️TriΔng3l▶️
Или вообще какие-нибудь списки выделенного использовать, а потом в шатдауне вжух — и всё удаляешь
Alexander "SonnySlave"
Anonymous
🦥Alex Fails
Anonymous
std::shared_ptr между потоками... Счетчик ссылок же не потоко-безопасный там?
Richard
нет времени при разработке на крестах = больно получать по рукам через N временм
Anonymous
Слушайте, а что по низкоуровневым сетевым библиотекам для C++? Кроме boost/non-boost ASIO.
Anonymous
Есть что-нибудь красивое, современное и быстрое?
Anonymous
Я просто как-то долго страдал с ASIO, а конкретнее — с его надстройкой в лице beast.
Anonymous
С виду простая задача превратилась в какое-то месево, которое ещё и долго компилируется.
Anonymous
Ещё частенько говорят о неэффективности асинхронных операций ASIO на Linux (epoll).
Anonymous
Andrei
Еще с момента когда он был частью буста.