关于进程中同时动态加载同一DLL问题
问题描述:
一个基于Dlg对话框的工程,在工程中设定了时间控件。通过参数,在不同的时间段内调用同一个DLL返回相应的结果
由于时间段有重复,例如张三,李四都在10:00执行,间隔10分钟一次
问题就出现了,会有一次动态加载的DLL没有产生返回值。
一个基于Dlg对话框的工程,在工程中设定了时间控件。通过参数,在不同的时间段内调用同一个DLL返回相应的结果
由于时间段有重复,例如张三,李四都在10:00执行,间隔10分钟一次
问题就出现了,会有一次动态加载的DLL没有产生返回值。
CString str;
HINSTANCE hInst;
hInst=LoadLibrary(_T("te.dll"));
typedef CString (_stdcall *mGg)(CString W, CString R, int i,int iW);
mGg G=(mGg)GetProcAddress(hInst,"G");
if(!G)
{
AfxMessageBox(_T("sru-获取函数地址失败!"));
return;
}
str = G(strU,strR,iT,iW);
。。。。。。。。
FreeLibrary(hInst);
...全文
相关推荐
ProcessExplorer 进程查看工具dll
查看程序加载的所有dll还有目录位置
【C++】DLL 的加载方式
DLL 的使用提供了模块化和资源共享的强大能力,使得软件开发更加灵活和内存效率更高。通过隐式或显式链接,开发者可以选择最适合他们需求的加载方式,利用操作系统的能力来优化应用程序的性能和资源使用。同时,共享代码和资源的能力意味着应用程序可以在运行时共享和协调它们的行为,而不是冗余地加载相同的功能。隐式链接的优势在于简单和自动化,适用于依赖关系固定且稳定的场景。显式链接的优势在于灵活性和控制力,适用于需要运行时决策、减少初始化负担或处理可选功能的场景。
内存加载DLL运行
内存加载DLL运行内存加载DLL运行内存加载DLL运行内存加载DLL运行内存加载DLL运行
高级任务管理器 查看进程所占用的DLL
高级任务管理器可以查看进程所占用的DLL
内存加载dll动态库
动态链接库的加载方式主要要动态加载、静态加载两种,本案例为不使用现有api接口直接二进制形式加载动态库


进程/线程/DLL
