DLL与主程序的通信

dll to main program communication

本文关键字:通信 主程序 DLL      更新时间:2023-10-16

我想从dll模块跟踪一些文本到主程序窗口(到日志子窗口)。我怎样才能正确地做到这一点?(通过内核原语,通过从窗口到窗口发送消息,传递回调接口?)我看到的工作示例:Matlab和Octave。当调用mexPrintf时,在它们的主窗口中打印输出

您的主程序应该导出一个日志记录函数,并让DLL知道它。你的DLL需要导出一个函数,比如InitLogging,它接受一个函数指针,并将传递的值存储在它的全局数据中。

另一种选择是将你的"main"程序放在另一个DLL中,并创建一个"stub" main,将所有DLL连接在一起。

(在Windows上,DLL可以调用彼此的函数,但是DLL不能调用主程序中的函数。在unix上,这要简单得多,因为共享对象可以直接调用主程序的函数。