Size: a a a

2021 February 03

D

Dmitriy in pro.cxx
Dollar Føølish
И без ртти?
Да
источник

DF

Dollar Føølish in pro.cxx
Круто
источник

DP

Denis Paukaev in pro.cxx
Dollar Føølish
Предполагаю что в винде и правда исключения могут работать без ртти
зачем исключениям rtti?
источник

DF

Dollar Føølish in pro.cxx
Чтобы поймать рантайм тип
источник

DF

Dollar Føølish in pro.cxx
А как иначе
источник

AN

Alexander N in pro.cxx
А вообще аллокация памяти в ядре тоже своими функциями реализуется(страницы помечаются как зарезервированные под ядро?)
источник

D

Dmitriy in pro.cxx
Denis Paukaev
зачем исключениям rtti?
Обычно type_info используется catch-блоками для фильтрации
источник

DF

Dollar Føølish in pro.cxx
Да
источник

DF

Dollar Føølish in pro.cxx
На луниксе например
источник

VK

Valentin Kornienko in pro.cxx
Dmitriy
Как и std::any
Зависит от реализации. Если не ошибаюсь, то в msvc type-info необходим
источник

DF

Dollar Føølish in pro.cxx
Вот так дела)
источник

AN

Alexander N in pro.cxx
Хмм std::any то точно использует rtti для определения что сейчас хранится
источник

D

Dmitriy in pro.cxx
Alexander N
Хмм std::any то точно использует rtti для определения что сейчас хранится
Вчера в супе об этом заходил разговор... Не обязательно
источник

АК

Александр Караев... in pro.cxx
Alexander N
Хмм std::any то точно использует rtti для определения что сейчас хранится
обсуждали же, что нет
источник

VK

Valentin Kornienko in pro.cxx
Alexander N
Хмм std::any то точно использует rtti для определения что сейчас хранится
Нет. От реализации.
источник

D

Dmitriy in pro.cxx
Mikhail Kalugin
Да ключ kernel просто отключает обработку исключений, RTTI и new-delete., но писать на C++ (том что от него останется) можно. Справка Visual Studio 2019
Да, к сожалению, для использования исключений этот флаг приходится убирать
В MSBuild-проектах это делается немного неочевидно, с CMake проще
источник

D

Dmitriy in pro.cxx
При этом пропадает дефайн _KERNEL_MODE, но проблема не смертельная
источник

VK

Valentin Kornienko in pro.cxx
У гцц  хитрый трюк с генерацией сигнатуры
источник

AN

Alexander N in pro.cxx
Mikhail Kalugin
Да ключ kernel просто отключает обработку исключений, RTTI и new-delete., но писать на C++ (том что от него останется) можно. Справка Visual Studio 2019
А placement new можно? Просто если даже использовать аллокатор специальный, то нужно объекты создавать
источник

D

Dmitriy in pro.cxx
Alexander N
А placement new можно? Просто если даже использовать аллокатор специальный, то нужно объекты создавать
operator new(size_t, void*) noexcept придется переопределить. А так - да, можно.
источник