Size: a a a

2020 August 13

AK

Andrei K in pro.cxx
Andrei K
Привет. Пара вопросов, если кто знает.

Как чёрт возьми зафорварддекларить классы из виндового ATL? Не хочется тащить afx в хедеры. У того же CString-а настоящий тип какой-то очень страшный,  по-простому не зафорварддекларить.

std::byte сломан? Как им пользоваться вообще? std::array<std::byte,1488> не может сконструироваться из инишиалайзер листа ни в одном компиляторе. Нормально не сконструировать ни из чего. Конструктора в виде фигурных скобок нет даже из uint8_t, а статик кастами обмазываться — слишком вербозно.
Стекфул континуэйшны собираются завозить или нет? callcc или fibers. async/await — отвратительная хрень.
источник

AS

Anatoly Shirokov in pro.cxx
Andrei K
Стекфул континуэйшны собираются завозить или нет? callcc или fibers. async/await — отвратительная хрень.
Корутины завезли, но пока без библиотечной поддержки.
источник

AK

Andrei K in pro.cxx
Anatoly Shirokov
Корутины завезли, но пока без библиотечной поддержки.
Я видел. Потыкал. Не понравилось.
источник

AK

Andrei K in pro.cxx
Потыкал в бустовый callcc — оказалось лучше, но всё равно пришлось переделывать по факту под интерфейс диспетчера корутин который еще в 2015 году дизайнил. Посмотрел внутрь boost::coro и еще больше ужаснулся
источник

A

Alex in pro.cxx
Спасибо!
источник

AK

Andrei K in pro.cxx
Alexander Zaitsev
есть некий сервис на С++, который состоит из множества частей. Хотелось бы понимать в разные моменты времени, какие части приложения сколько выжрали оперативной памяти. То есть организовать достаточно детализированный профайлинг памяти для приложения.

Сейчас регулярно снимается стастика с аллокатора (jemalloc), но понятное дело, что это говорит только о ситуации для всего приложения.

Есть идеи, как подобное организовать?

Первое, что мне приходит в голову - разным частям приложения раздать разные аллокаторы и зафорсить по крайней мере для начала административно их использование в различных подсистемах приложения. Ну или свой аллокатор с какими-то метками для каждой части приложения, которые при аллоках\деаллоках будет заниматься подсчётом нужной статистики.

Почему не используются готовые утилиты профайлинга - они не дают нужной точности.

Если важно - С++14
У intel vtune amplifier-а есть профайлер памяти, который даже вроде бы не семпалми работает. Но ему надо заинструментировать код. У меня работало на виндовом стендалоун приложении в 2кк строк.
источник

AF

Aidar Fattakhov in pro.cxx
Andrei K
Привет. Пара вопросов, если кто знает.

Как чёрт возьми зафорварддекларить классы из виндового ATL? Не хочется тащить afx в хедеры. У того же CString-а настоящий тип какой-то очень страшный,  по-простому не зафорварддекларить.

std::byte сломан? Как им пользоваться вообще? std::array<std::byte,1488> не может сконструироваться из инишиалайзер листа ни в одном компиляторе. Нормально не сконструировать ни из чего. Конструктора в виде фигурных скобок нет даже из uint8_t, а статик кастами обмазываться — слишком вербозно.
Из байтов есть
источник

AF

Aidar Fattakhov in pro.cxx
А uint8_t физически не должно быть для байтов теперь
источник

AF

Aidar Fattakhov in pro.cxx
Andrei K
Стекфул континуэйшны собираются завозить или нет? callcc или fibers. async/await — отвратительная хрень.
Вкусовщина
источник

AK

Andrei K in pro.cxx
Aidar Fattakhov
А uint8_t физически не должно быть для байтов теперь
Без uint8_t не работают нормально байты.
источник

ПК

Побитый Кирпич... in pro.cxx
Andrei K
Я видел. Потыкал. Не понравилось.
А что не так?
источник

AF

Aidar Fattakhov in pro.cxx
Andrei K
Без uint8_t не работают нормально байты.
Что это значит?
источник

AK

Andrei K in pro.cxx
Andrei K
Без uint8_t не работают нормально байты.
Говорю же. Даже элементарно std::array не сконструировать.
источник

AF

Aidar Fattakhov in pro.cxx
Из uint8_t? Который ты используешь как байты?
источник

AF

Aidar Fattakhov in pro.cxx
Это фича короче а не баг
источник

AF

Aidar Fattakhov in pro.cxx
enum class byte:uint8_t{}
источник

AK

Andrei K in pro.cxx
нет. Я же написал в сообщении, ну :(
std::array<std::byte, 4> a{0xDE, 0xAD, 0xBE, 0xEF}.
источник

AF

Aidar Fattakhov in pro.cxx
0xAD вообще инты?
источник

AK

Andrei K in pro.cxx
Нельзя такое написать. И это неудобно.
источник

AK

Andrei K in pro.cxx
Aidar Fattakhov
0xAD вообще инты?
Я это понимаю если я допишу u8 это не поможет.
источник