Size: a a a

2021 July 08

АК

Александр Караев... in pro.cxx
__CxxFrameHandler3 не про SEH, а про стандартные исключения. Все обработчики в CRT, если не ошибаюсь
источник

/

/bin/cat in pro.cxx
Как их выключить, чтобы они мне не мешались организовывать RAII без сишного рантайма?
источник

АК

Александр Караев... in pro.cxx
В clang-cl кажется /GX- (https://clang.llvm.org/docs/UsersManual.html)
источник

/

/bin/cat in pro.cxx
все равно проблемы со сборкой
источник

D

Dmitriy in pro.cxx
Дело не в RAII...
источник

D

Dmitriy in pro.cxx
/GX- (линкер)
-fno-exceptions (компиль)
Флаги есть и точно для собираемой конфигурации?
источник

/

/bin/cat in pro.cxx
Есть вот такая штука для отключения CRT: https://imgur.com/HJ14dGH
источник

/

/bin/cat in pro.cxx
после добавления
clang-cl : warning : argument unused during compilation: '/GX-'
источник

D

Dmitriy in pro.cxx
Емнип, надо ещё /EHxx убрать из списка опций компиляции. Какой там сейчас параметр?
источник

/

/bin/cat in pro.cxx
/EHsc в cmake verbose
источник

/

/bin/cat in pro.cxx
в хелпе clang-cl написано, что /GX-  Deprecated (like not passing /EH)
источник

D

Dmitriy in pro.cxx
Убери его из списков CMAKE_CXX_FLAGS и CMAKE_CXX_FLAGS_DEBUG руками
источник

D

Dmitriy in pro.cxx
Ага, MSVC-style...
источник

/

/bin/cat in pro.cxx
вроде собралось после добавления /EHs-c-
источник

D

Dmitriy in pro.cxx
Столкнулся с крайне любопытной проблемой: как передать shared_ptr в Сишный асинхронный коллбэк?
void* он принимает, но...
Конечно, все происходит в многопоточном окружении
источник

ES

Egor Suvorov in pro.cxx
Я умею только странно: выделить shared_ptr на куче (или где-нибудь ещё, чтобы точно пережило коллбэк), передать в коллбэк, коллбэк сделает delete этого shared_ptr.

В общем, так же, как и любые аргументы в сишные коллбэки, которыми надо владеть
источник

D

Dmitriy in pro.cxx
Угу, и мне аналогично пришлось
источник

U

UsernameAK in pro.cxx
этот аналог называется boost::intrusive_ptr
источник

D

Dmitriy in pro.cxx
Согласен со всем, кроме последнего утверждения...
источник

U

UsernameAK in pro.cxx
+
источник