Joy
у меня проект в cmake собирается
Alexander "SonnySlave"
Berkus
там про всё написано, как enable_tests() как чо
Alexander "SonnySlave"
какие билд-системы, какие встраивания, если нет понимания, как тест писать?
Berkus
Joy
нет, потому что перед тем как использовать автоматизацию я (в целом по жизни) сперва разбираюсь как сделать руками, и через это понимаю как оно устроено
Berkus
не с первого раза это будет
Joy
Berkus
первые пару тысяч тестов все равно будут полным говном
Joy
нах ТДД, не?
Joy
тесты это не обязательно ТДД же?
Berkus
нах ТДД, не?
тдд это когда ты пользуешься тестами, я использую этот термин, чтобы не писать много
Joy
я просто хочу автоматизировать банальные проверки
Joy
ТДД это определенная парадигма, если ты используешь этот термин по своему, то вводишь в заблуждение
Berkus
я вполне понимаю что ты не будешь начинать писать код с тестов, Олег тебе это уже внушил
Berkus
Berkus
не буду тогда больше ничего говорить, а то ты совсем заблудишься, пусть Зайцев вон просвятит как надо
Joy
давайте конкретику
Joy
у меня есть класс, отвечающий за персонажа в игре
Joy
методы типа takeDamage, levelUp
Joy
Joy
выразился несколько неудачно, был понят сильно неправильно
D.
В чем проблема? или Я что-то не понимаю?`
// возвращает true, если p и q указывают на один и тот же объект
template<class T>
bool isSameObject(T const * p, T const * q)
{
if (dynamic_cast<T const *> (p) == dynamic_cast<T const *> (q))
return true;
else return false;
}`
Предположим, что вам даётся два указателя на объект некоторого сложного полиморфного класса, который использует множественное наследование. Оба указателя имеют один и тот же тип, но могут ссылаться на разные однотипные базы внутри одного объекта.
Напишите шаблонную функцию, которая по двум однотипным указателям проверяет, указывают ли они на один объект.
Max
Подскажите какой язык сейчас стоит учтить?
Anatoly
Oleg
китайский
Oleg
Max
Matwey
Joy
Чтобы не флудить в общем чате - может мне какой добрый человек в личку написать, чтобы на примере моего класса показать как оно делается?
Vitalii
php
Aidar
Крылатый
Aidar
я вроде не умею
D.
@AsGreyWolf с помощь dynamic_cast
Aidar
а я усложнил
D.
@AsGreyWolf тогда как ?
Aidar
я не понял что хотят
Joy
короче это была достойная попытка погрузиться в новый увлекательный мир юнит-тестирования ))
Vladimir
Nik
есть ли какой-то оверхед в использовании chrono::high_resolution_clock вместо chrono::steady_clock ?
Nik
и может ли быть high_resolution_clock не-steady?
Александр
Можно ещё T2 по умолчанию = T1
Александр
никакого, верно
Vladimir
Можно ещё T2 по умолчанию = T1
> Оба указателя имеют один и тот же тип, но могут ссылаться на разные однотипные базы внутри одного объекта.
> Напишите шаблонную функцию, которая по двум однотипным указателям проверяет, указывают ли они на один объект.
Т.е. указатель на один базовый класс, но достижимый из разных путей наследования.
Как я понял, например, класс C наследуется от A и B, B наследуется от A. А проверяющая функция получает 2 указателя на "A *".
Александр
вообще уже выше сказали, что указывают на один объект - это тупо равны
Dmitrii
Как у spdlog с потреблением памяти?
Berkus
Александр
Anonymous
лучший выход: exit(0)
Igor
Constantine
понимает ли компилятор, что за вызовом виртуальной функции может стоять memory barrier?
🐙 Antony
Ему это нужно, только при встраивании виртуальной функции. Тогда понимает, в остальных случаях - это не нужно
Matwey
Господа, а где-нибудь на просторах телеграма есть чатик, где люди знают про qemu/kvm internals?
Alexander "SonnySlave"
Alexander "SonnySlave"
тебе лучше в mailing list :)
Alexander "SonnySlave"
мб в линуксовом чате кто-то знает
Matwey
Да я был в том мейл листе, опыт такой, что все-равно чинить самому придется. Вот пытаюсь понять где проблему искать
Alexander "SonnySlave"
ну значит сам чини :) опенсорс же :)
Alexander "SonnySlave"
ну и патч в апстрим, если проблему пофиксишь
Matwey
Ну вот я пока еще не знаю где чинить
Matwey
Как-то хочется помощи зала
kitsu
Matwey
А в чем проблема?
Проблема в том, что virtio виснет. При этом на другой машине с тем же ядром хоста, гостя, и бинарем qemu всё работает. Общую архитектуру virtio я уже изучил за сегодня/вчера.
kitsu
Ну звучит не сложно, gdb и вперед
kitsu
не с сп?
Matwey
а что gdb то? куда смотреть то?
kitsu
Ну если виснет, все просто же
kitsu
Запускаешь gdb, ждешь зависание, даешь ему сигнал и смотришь трассу
Matwey
ха ха
Matwey
в qemu запускается внутри десяток потоков, и они все постоянно что-то делают, шлют какие-то нотификации, читают из eventfd т.п.
Matwey
трейс показывает на epoll
Matwey
оно где-то из-за логики ломается