dll到主程序通信

时间:2011-08-28 15:11:58

标签: c++ dll callback ipc printf

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

1 个答案:

答案 0 :(得分:4)

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

另一种方法是将您的“主”程序放在另一个DLL中,并创建一个将所有DLL链接在一起的“存根”主程序。

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