【发布时间】:2022-10-21 12:11:20
【问题描述】:
我刚刚遇到了一个奇怪且具有破坏性的问题,我在任何地方都找不到有关它的任何信息。
asio::steady_timer 计时器(m_context);
如果我将这个
asio::steady_timer构建为EXE,它工作得非常好,但是如果它构建为一个DLL,它会在初始化asio::steady_timer时等待WaitForSingleObject(在win_thread.ipp文件中,第106 行),请看下面的图片。这个DLL 只是一个空项目,它只包含
asio.hpp文件。我发现this_article 可能是相关的问题,但仍然找不到调试或修复此问题的方法。我做错了什么,还是这是图书馆的错误?
谢谢你的时间!
【问题讨论】:
-
感谢您的回答,我发布了堆栈跟踪的屏幕截图,代码实际上只是那 1 行
-
@thedemons 代码是至关重要的是在 DllMain 内部,它是不是单行。
-
您需要重新设计代码以根据调用方请求进行所需的初始化。
DllMain不是处理重要任务的地方。
标签: c++ boost c++17 boost-asio asio