C++中LoadLibrary加载dll出错

bubble_baby bubble_baby 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的C++加载dll代码如下:

typedef void* (*CreateInstance)(char *ClassName);
CreateInstance pFunCreateInstance = NULL;
HMODULE hm = LoadLibrary(L"D:\\WorkSpace\\C2000\\TestC2KCode\\Debug\\DMS_C2000.dll");
pFunCreateInstance = (CreateInstance)GetProcAddress(hm,MAKEINTRESOURCEA(11));

if(pFunCreateInstance == 0x00000000)
{
DWORD s = NULL;
s = GetLastError();
s = GetLastError();
}

IC2000 *CC2000COMObj;
CC2000COMObj = (IC2000*)((*pFunCreateInstance)("IC2kProgram"));

调试时,hm是有值的,但是pFunCreateInstance值为0x00000000,应该是dll没有加载上的问题吧,GetLastError第一个执行时出错,s值还为0,第二个GetLastError执行过后返回值为182:The operating system cannot run %1,执行后最后一句时因为pFunCreateInstance没有赋值就出错了。
本人不太了解dll加载,希望大家指点一下啊
...全文

相关推荐

USB-ID通用读卡器C++Builder示例源码.rar

例如: ```cpp HMODULE hModule = LoadLibrary("RFID.dll"); // 加载DLL if (hModule !

广州荣士电子_18002295132

MATLAB调用C/C++ DLL实战:从loadlibrary到MEX的完整指南

动态链接库(DLL)是软件工程中实现代码复用和模块化的重要技术,它允许程序在运行时加载和调用预编译的函数库,从而提升开发效率和系统性能。在科学计算和工程仿真领域,MATLAB因其强大的矩阵运算和可视化能力被广泛使用,但处理高性能计算或集成现有C/C++库时,直接调用DLL成为关键技术需求。通过MATLAB的loadlibrary机制,可以解析C头文件并直接调用DLL中的函数,这涉及关键的数据类型转换和内存管理。对于更极致的性能与易用性,MEX函数允许将C/C++源码编译为MATLAB可执行扩展,实现无缝集成

Summer Clover

Dll调用报错示例.rar

LoadLibrary/FreeLibrary函数:这些API函数用于在运行时动态加载和卸载DLL。如果调用失败,可能是因为无法找到DLL,或者DLL中的函数调用有误。5.

飞狼兄

动态链接库深入浅出 文档以及源代码

客户端程序:这些程序展示了如何在C++中使用LoadLibrary和GetProcAddress加载和调用DLL函数,或者如何通过静态链接直接调用DLL。3.

zyb_debug

csgl.native.dll

**加载库**:通过LoadLibrary或GetProcAddress函数,应用程序可以请求操作系统加载并获取库中的特定函数。2.

阳乐888
评论 15
收藏 已收藏
分享
返回顶部
bubble_baby
进程/线程/DLL 15,465 成员 49,169 内容