怎么 获取一个函数指针的地址值
假设有个DLL,导出一些函数,其中有一个Func函数。一个应用程序加载这个DLL后,是不是保存有一个指针变量指向Func函数?怎么获取这个指针变量的地址?不是指针变量指向...
假设有个DLL,导出一些函数,其中有一个Func函数。一个应用程序加载这个DLL后,是不是保存有一个指针变量指向Func函数?怎么获取这个指针变量的地址?不是指针变量指向的地址值,而是这个指针变量本身的地址。
展开
3个回答
2013-08-08
展开全部
HMODULE hDll = LoadLibrary(TEXT("DllExportsEx.dll")); // 加载一个DLL
FARPROC pfn = GetProcAddress(hDll, "Func"); /// 获取函数地址,第一个参数为DLL模块句柄,第二个参数为函数名称
FARPROC pfn = GetProcAddress(hDll, "Func"); /// 获取函数地址,第一个参数为DLL模块句柄,第二个参数为函数名称
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-08
展开全部
没有专门保存函数地址的变量。导出的函数通通放在一个导出表(EAT)里。如果是静态加载库,编译器、链接器会自动将要用到的导入函数放在导入表(IAT)里。如果是动态加载,你应该懂的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-08
展开全部
当你代码中使用dll库中的func时,系统才会对func函数进行压栈
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询