如何从dll界面主动调用主程序的功能呢?
如何从dll界面主动调用主程序的功能呢?
定义一个回调函数,及回调注册函数,主程序用注册函数将回调函数传递给DLL,大致框架:
DLL:
typedef void (_cdecl *DllCallback)(LPCSTR msg);//回调方法声明
DllCallback doCallBack= NULL;
///
/// 注册回调方法的方法
///EXPORT void _cdecl _RegCallback(DllCallback pCallback)
{
doCallBack=pCallback;
}
func
{
doCallBack(msg);
}
Main:
IMPORT void _RegCallback(DllCallback pCallback)
void DoCallBack(LPCSTR msg)
{
//todo
}
main()
{
_RegCallback(DoCallBack);
}