【问题标题】:IPC between C# app, via native C++ DLL, to another app consuming DLL with embedded Lua?C# 应用程序之间的 IPC,通过本机 C++ DLL,到另一个使用嵌入式 Lua 的 DLL 的应用程序?
【发布时间】:2012-04-21 20:57:03
【问题描述】:

基本上我在问如何实现与here 解释的相同流程。

我希望我的 C# 向我编写的本机 C++ DLL 提供回调。

我希望这个 DLL 由嵌入到另一个应用程序的 Lua 引擎加载,
MUSHClient(一个 MUD/telnet 客户端,带有嵌入式 Lua),通过 package.loadlib("native.dll", "someInitFunction");

然后在MUSHClient 中,我想编写调用DLL 公开的函数的脚本。我希望这些函数调用我的 C# 应用程序提供的回调函数/委托。

我该怎么做?
我知道如何在我的 DLL 中导出函数,我不知道如何在进程之间共享回调。

【问题讨论】:

  • 如果你有两个进程,你需要某种形式的 IPC。您想使用哪种 IPC?
  • 是否可以使用共享内存并为回调/委托共享一个函数指针?
  • 不,这是不可能的。

标签: c# c++ dll lua ipc


【解决方案1】:

您需要某种进程间通信 (IPC)。

我推荐命名管道。

Here 是 C# 和 C++ 中命名管道实现的一个很好的例子。

【讨论】:

  • 如何在原生 C++(不是 C++/CLI)中使用命名管道?
  • 例如。看this thread
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-10
  • 1970-01-01
  • 2012-07-07
  • 2011-01-02
相关资源
最近更新 更多