DESC:
Это касается моего предыдущего вопроса: виджет не отображается после загрузки lib
Я обнаружил, что не только виджет не отображается, код в этом новом созданпоток, кажется, не работает вообще.
когда загружена библиотека, я хочу, чтобы она запускала некоторую логику, связанную с Qt, в только что созданном потоке.но кажется, что новый поток зависает.
Вот мой код (совместно используемая библиотека):
class LibExecutor {
public:
LibExecutor()
{
std::cout << "before thread create" << std::endl;
std::thread t([]() {
std::cout << "thread is running" << std::endl;
});
t.join();
std::cout << "thread ended" << std::endl;
}
};
static LibExecutor libExecutor;
Выходная строка в теле потока не отображается, когда приложение хоста загружает эту библиотеку, программуblocks.
также, взлом в стиле c с использованием dllMain также блокирует новый поток.:(, я знаю, создание потока в dllMain - это плохо, только тестирование.)