亭台六七座 2021-08-30 15:33 采纳率: 35.3%
浏览 22
已结题

如何从dll界面主动调用主程序的功能呢?

如何从dll界面主动调用主程序的功能呢?
如何从dll界面主动调用主程序的功能呢?

  • 写回答

1条回答 默认 最新

  • xuerishun 2021-08-30 16:00
    关注

    定义一个回调函数,及回调注册函数,主程序用注册函数将回调函数传递给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);
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月7日
  • 已采纳回答 8月30日
  • 创建了问题 8月30日