首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >应用程序可以在Visual studio上运行,但不能直接运行exe,为什么?

应用程序可以在Visual studio上运行,但不能直接运行exe,为什么?
EN

Stack Overflow用户
提问于 2017-04-08 22:55:04
回答 1查看 77关注 0票数 0

这段代码在Visual Studio2010 (debug/release)上工作得很好,有dll函数的返回值(ctrl+F5 gets )。

现在的问题是,当我直接从debug文件夹运行这个exe时,它没有返回值。

问题出在哪里?

代码语言:javascript
复制
typedef int (*One)(const char *);
HMODULE hModule;
One gpfSN = NULL;
int y = 0;
const char *cr = "xyz";
        hModule = LoadLibrary(L"send.dll");
    if (hModule != NULL)    
    {
        gpfSN = (One)GetProcAddress(hModule, "GetData");
    }

    if (gpfSN != NULL) 
    {
        CString t;
        y = (*gpfSN)(cr);
        t.Format(_T("%d"), y);
        m_Value.SetWindowTextW(t);
    }
    if (hModule != NULL) 
    {
    ::FreeLibrary(hModule);
    }
EN

回答 1

Stack Overflow用户

发布于 2017-04-08 23:00:22

您应该添加一些错误报告,因为现在所有的错误都会被默默忽略。

代码语言:javascript
复制
if (hModule != NULL)    
{
    gpfSN = (One)GetProcAddress(hModule, "GetData");
}
else
{
    auto const last_error(::GetLastError());
    m_Value.SetWindowTextW(L"LoadLibrary call failed"); // TODO print error code
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43295588

复制
相关文章

相似问题

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