procxx | Unsorted

Telegram-канал procxx - pro.cxx

7838

C++ chat 0. Простые вопросы, лабы и о IDE — в чат новичков @supapro 1. No Ads, offtop, flood 2. Полные правила тут https://t.me/ProCxx/259155 Объявления о вакансиях,эвентах - в лс @AlexFails или @MasterZiV канал вакансий https://t.me/ProCxxJobs

Subscribe to a channel

pro.cxx

idk, но, скорее всего, да

Читать полностью…

pro.cxx

Он пытается это вызвать не как operator==(Foo{}, "123"), а как
operator==(static_cast<Enum>(Foo{}), static_cast<std::string>("123")),
ибо оператор конверсии в Foo не помечен как explicit

Читать полностью…

pro.cxx

Либо убрать их из глобального скопа, это плохая практика

Читать полностью…

pro.cxx

Он в глобальном скопе, а, значит, тоже участвует в разрешении

Читать полностью…

pro.cxx

Вы имеете ввиду, что жсон все-таки умеет каститься к Enum?

Читать полностью…

pro.cxx

Сфига ли компилятор считает, что

bool operator ==(Enum, std::string)


может участвовать в разрешении?

Читать полностью…

pro.cxx

Окейно. Тогда откуда ошибка error: ambiguous overload for 'operator==', если жсон не умеет каститься в Enum?

Читать полностью…

pro.cxx

То есть, в этом примере жсон не конвертиться в тип Enum?

Читать полностью…

pro.cxx

а твои перегрузки тут и не побеждают..

json умеет implicit конвертиться в ИХ enum. он, соответственно, может быть сравнен с интом, но со строкой - нет
https://json.nlohmann.me/api/basic_json/operator_value_t/

Читать полностью…

pro.cxx

если сумеет. А так да, все идет через витейбл

Читать полностью…

pro.cxx

Верно ли, что при вызове виртуального метода дочернего класса мы всегда общаемся к виртуальный таблице (в случае если базовый класс тоже определяет этот метод, и компилятор это не оптимизирует)? Иначе говоря, если бы мы использовали обычную функцию или невиртуальаный метод, то при вызове функции мы бы перемещали в стек непосредственно адрес функции, а в случае с виртуальным методом нам этот адрес еще нужно найти, да?

Читать полностью…

pro.cxx

supressions обычно передаются аргументом запуска, но можно изучить детальнее =) я не спец по asan

Читать полностью…

pro.cxx

у вас случайно не настроены suppressions для санитайзера?

Читать полностью…

pro.cxx

Язык к проблеме не относится, Вам скорее куда-то сюда.

Читать полностью…

pro.cxx

поищите на nometa.xyz

Читать полностью…

pro.cxx

Хорошо. То есть, снова повторю вопрос в сотый раз: жсон умеет каститься к Enum (и вообще к чему угодно, похоже)?

Читать полностью…

pro.cxx

Сории, но я что-то не понял...
Компилятор хочет сравнить жсон и строку. Да, не спорю, он видит

bool operator ==(Enum, std::string)


Но какого хрена он его берет? Здесь первый аргумент должен быть типа Enum. У компилятора тип жсон.

Читать полностью…

pro.cxx

Если заставишь инстанцироваться оператор [] до объявления твоих операторов, то ошибки не будет

Читать полностью…

pro.cxx

1-уровневые implicit касты разрешены стандартом, если нет explicit (это так же справедливо и для функций)

Читать полностью…

pro.cxx

Скорее всего из-за этого
https://godbolt.org/z/34sd5aG1a

Читать полностью…

pro.cxx

Если бы не умел, то мои перегрузки вообще не были бы выбраны

Читать полностью…

pro.cxx

угу. эти две перегрузки можно удалить и код все еще комплится. ну или логирование добавь для верности

Читать полностью…

pro.cxx

nlohmann
https://json.nlohmann.me/api/basic_json/value_t/

Читать полностью…

pro.cxx

но в стек ничего не помещается. Для вызова функции не надо ее адрес класть в стек

Читать полностью…

pro.cxx

компилятор может использовать девиртуализацию

Читать полностью…

pro.cxx

Вы про ASAN_OPTIONS? Нет, при запуске ничего не указываю.

Читать полностью…

pro.cxx

Вроде ничего специального для санитайзера не делал. Только флал -fsanitize=address. А как посмотреть про то, о чем Вы говорите?

Читать полностью…

pro.cxx

В проекте используется библиотека CATCH и включен Address Sanitizer. Специально сделал в одном из тестов утечку памяти. После запуска теста санитайзер ничего не обнаружил, при этом программа вернула 1. Далее исключил утечку памяти, программа вернула 0. После этого снова сделал утечку, но отключил санитайзер. Программа вернула 0.
Выходит так, что санитайзер видит проблему, но сообщает о ней лишь кодом возврата. Кто-то сталкивался с подобным поведением ASan-а?

Читать полностью…

pro.cxx

я понял :)
Вопрос такой правильно ли я понял что в сетевом стеке линукс arp кеш завязан на neighbour?
Я написал модуль ядра который по требованию (из пользовательского пространства) может создать бродкаст arp запрос, но проблема в том что ядро не принимает arp ответ
вся проблема в том что ядро думает что оно не создавало arp запрос, то есть он где то хранит какую-то запись (возможно ip) по которой он понимает что arp ответ можно обработать и обновить arp кеш
по умолчанию должно стоять 0 - не принимать, 1 - принимать
$ echo "1" > /proc/sys/net/ipv4/conf/wlp0s20f3/arp_accept
Посмотреть текущий кеш arp
$ arp -n
Удалить запись из кеша
$ arp -d <ip>
я становлюсь ваершарком на интерфейс и вижу что запрос уходит, потом я вижу ответ приходит но кеш не обновляется
но если я сделаю /proc/sys/net/ipv4/conf/wlp0s20f3/arp_accept равной 1 как я говорил выше то ответ обрабатывается, и кеш обновляется, соответственно ВОПРОС куда надо сделать запись чтобы ядро подумало "ООО это был мой запрос, буду обрабатывать ответ :)"

Читать полностью…

pro.cxx

Всем привет, парни кто шарит в сетевом стеке линукс, нид хелп?

Читать полностью…
Subscribe to a channel