首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“glfwCreateWindow”在Dllmain被调用时结冰

“glfwCreateWindow”在Dllmain被调用时结冰
EN

Stack Overflow用户
提问于 2022-01-24 17:06:15
回答 1查看 42关注 0票数 -1

当我在glfwCreateWindow中调用DllMain时,程序冻结,CPU使用率下降到0%。

如果我将程序类型从.dll更改为.exe,并将DllMain替换为main,则代码工作良好。

下面是我代码的一部分:

代码语言:javascript
复制
BOOL WINAPI DllMain(
    HINSTANCE hinstDLL,
    DWORD fdwReason,
    LPVOID lpReserved)
{
    GLFWwindow* window;
    /* Initialize the library */
    if (!glfwInit())
    {
        std::cout << "glfw init failed" << std::endl;
        return;
    }

    std::cout << "1" << std::endl;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!window)
    {
        std::cout << "window creation failed" << std::endl;
        glfwTerminate();
        return;
    }

    std::cout << "2" << std::endl;

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

    return TRUE;
}

当我运行程序时,1会被打印,但是程序会冻结,2永远不会被打印。

EN

回答 1

Stack Overflow用户

发布于 2022-01-24 17:48:57

有一个非常,您可以在DllMain中做的事情非常有限,如详细的这里

你得想办法把电话推迟到GLFW。也许对DLL的显式初始化调用是可行的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70837661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档