Anonymous
🦥Alex Fails
ждать 2020 и рефлекшен)))
Не. # хорошо stringify хрень
🦥Alex Fails
Как 2020 выйдет, заменю
Stanislav
Не. # хорошо stringify хрень
ну вот, без рефлекшена не обойтись без макросов
Stanislav
кстати, по истории С
Stanislav
там препроцессор был тупой
Anonymous
что-то из нового стандарта?
Stanislav
только инклудил
🦥Alex Fails
stringify?
Да. Она превращает хрень в "хрень"
Stanislav
а потом пришел какой то чувак, и нахучил дефай какой мы его щас знаем
🦥Alex Fails
Surreal
Non-standard
Да срать. У меня любовь к этому макросу.
Surreal
И ничего этому не помешает.
Anonymous
это из того же стандарта в котором выйдет stringview?
Surreal
string_view в gsl есть.
🦥Alex Fails
???!!!
#define STR(q) #q char * qweqwe = STR(qweqwe); // "qweqwe"
Stanislav
Q_FUNC_INFO
Anonymous
string_view в gsl есть.
gsl? что за gsl
Surreal
gsl? что за gsl
"Guideline Support Library"
Anonymous
Nikita
__PRETTY_FUNCTION__
У тебя может быть несколько аллокаций внутри одной функции. И для каждой можешь захотеть потом статистику собирать
🦥Alex Fails
а смысл? больше же кода
#define STR(q) "my" #q #define STR2(q) STR(q) char * qweqwe = STR(qweqwe); // "myqweqwe" char *curline = STR2(__LINE__); // "13", если текущач линия 13
Stanislav
ЛИНИЯ
Nikita
Можно new переопределить. Или вы про какие-то другие аллокации?
Вариант. Другой случай: отладка cuda или opengl. Или какого другого асинхронного многопотока. Вот там уже в каждой строчке хочется быть уверенным.
🦥Alex Fails
ЛИНИЯ
специалбно добавил надмозга, чтобы обратить внимания😂
Nikita
Можно new переопределить. Или вы про какие-то другие аллокации?
А нет, new тебе в конструктор/аллокатор укажет, а не на точку спавна объекта
Surreal
Можно и адрес объекта писать.
Nikita
Можно и адрес объекта писать.
Каждый раз разным будет от запуска к запуску. Не production-решение
Surreal
Ээээ. Я new в production и не буду переопределять. Это для дебага.
Stanislav
надо просто ::new сделать (size_t, line == __LINE__, file = __FILE__)
Nikita
Ээээ. Я new в production и не буду переопределять. Это для дебага.
Ну так у клиента тоже можно статистику собирать, чтоб потом смотреть, на что силы направлять
Surreal
Ну так у клиента тоже можно статистику собирать, чтоб потом смотреть, на что силы направлять
Собирать в статистику каждый вызов new - это жирно. Обычно стектрейсы только собирают.
🦥Alex Fails
почему мсвц?
Там такая дебаг-версия была
🦥Alex Fails
Но вообще баян
Nikita
Собирать в статистику каждый вызов new - это жирно. Обычно стектрейсы только собирают.
new можно пореже использовать, пулом пользоваться, да и кусками большими выделять
Nikita
Да и оверхед не настолько заметный будет, если аккуратно делать
Surreal
Nikita
Типа логировать обычный new, а placement new оставить в покое?
К примеру. Или для placement new уже полегче статистики собирать.
Surreal
С памятью сейчас на самом деле не так много проблем. Спасибо санитайзерам.
Surreal
Мне вот в связи с этим интересны причины падения современных ААА игр.
Nikita
Мне вот в связи с этим интересны причины падения современных ААА игр.
Да от чего угодно. Одно из забавных, что видел: копипаста, в результате чего членом класса стал референс на шаред-поинтер. Редко, но падало. Не геймдев, а числодробилка
Surreal
а он ловят фрагментацибю памяти?
Нет, только лики и доступ по несущ. адресу.
Surreal
Еще есть санитайзер UB.
🦥Alex Fails
Sergey
Sergey
как гуглить хотя бы
Surreal
как гуглить хотя бы
https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html
Sergey
а, gcc
Sergey
в visual studio нет аналога?
🦥Alex Fails
в visual studio нет аналога?
Было вродь что-то
Surreal
clang есть для студии.
Surreal
В нем это есть.
Surreal
Из него и пошло, вроде.
Stanislav
https://visualgdb.com/
Surreal
В нем это есть.
Хотя не уверен, что в виндовой версии есть все санитайзеры.
Andrei
https://visualgdb.com/
Зачётная штука. Я с помощьюю неё embedded свой отлаживал коребельный.
Matway
Или, например #ifdef DEBUG ... #endif
Только по стандарту наоборот: #ifndef NDEBUG ... А так да - редкий случай, когда за макро можно не расстреливать.
🦥Alex Fails
Зачётная штука. Я с помощьюю неё embedded свой отлаживал коребельный.
Ща в мсвц 2015 есть линь-проекты. Вроде можно уже без этого мощного екста херачить
🦥Alex Fails
Хочу бота плвншетного дебажить в студии
Stanislav
НЕ ПРОЩЕ
почему?
🦥Alex Fails
Surreal
Вроде б он. И гдб)
А гдб такой же, консольный?