Size: a a a

IT KPI C/C++ ХВ (не UB)

2021 July 01

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
хедеры в отдельную папку, их твоя мейн прога будет инклудить
источник

 P

 ‌‌Gleb Pilipets... in IT KPI C/C++ ХВ (не UB)
а кто-то сталкивался с какими-то то проблемами static инициализации внутри .dll?
источник

 P

 ‌‌Gleb Pilipets... in IT KPI C/C++ ХВ (не UB)
Переслано от  ‌‌Gleb Pilipets...
И вот ещё один момент - всё работает как и ожидается даже с бустом в .dll, если я не использую static инициализацию класса, в котором мембер это io_context.

Если использую, то всё висит, хотя деструктор класса уже вызвался...

То есть если создавать так, то всё висит.
TimedSendClient& TimedSendClient::getInstance(const Config& config) {
   static TimedSendClient tg_notifier(config);
   return tg_notifier;
}

Если не как Singletone, а напрямую, то есть через TimedSendClient tg_notifier(config), то всё работает...
источник

 P

 ‌‌Gleb Pilipets... in IT KPI C/C++ ХВ (не UB)
типа прога виснет, если делать со static и .dll, хотя всё норм если со static и без .dll или без .dll и со static.
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
у меня один раз была похожая проблема
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
там был какойто баг в том что при компиляции не чистились старые обьектники и они собирались с новыми
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
как результат либы в два раза больше чем должны были быть и рандомные сегфолты
источник

 P

 ‌‌Gleb Pilipets... in IT KPI C/C++ ХВ (не UB)
хм и как ты пофиксил?
источник

 P

 ‌‌Gleb Pilipets... in IT KPI C/C++ ХВ (не UB)
ооо, это похоже на мой кейс, возможно
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
заменой сдк и перекомпиляцией с нуля
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
ну у меня ещё платформа спецефическая была
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
маловероятно что ты собираешь под стадию
источник

 P

 ‌‌Gleb Pilipets... in IT KPI C/C++ ХВ (не UB)
ну тип я вижу, что деструктор этого статик объекта вызывается, а потом всё висит на io_context в непонятном состоянии…

Тип поток заджойнился, где был запущен io_context, поэтому не понятно, как он ранится…
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
Нет, я их именно перемещаю
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
И ругается, что два раза определено в obj
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
Если убрать определение, тогда ругается, что его нет
источник

AW

Alexander Wizaral in IT KPI C/C++ ХВ (не UB)
А у тебя проект в студии?
источник

YS

Y S in IT KPI C/C++ ХВ (не UB)
cygwin, а на нього g++
источник

AW

Alexander Wizaral in IT KPI C/C++ ХВ (не UB)
-c лишний
источник

TL

Tony Lutsenko in IT KPI C/C++ ХВ (не UB)
Ага
источник