【发布时间】:2012-04-26 14:23:18
【问题描述】:
我正在尝试在基于 Lisp 的第 3 方程序(我们称之为 ABC)和我自己编写的 C# 程序(我们称之为 DEF)之间创建一个集成。 问题是 ABC 只能调用用 C 或 Fortran 创建的程序集。 所以我开始学习 C,我得到了“hello world”测试,ABC 调用我的 C dll 并得到“hello world”作为回报。 我尝试使用显式加载和 GetProcAddress 从 C 代码调用我的 DEF dll。如果我调用另一个 C dll,但不是 C# dll,它会起作用。 现在我想知道我是否必须学习 C++ 并从 C++ 调用 C# 来创建这个漂亮的调用链:
ABC -> C -> C++ -> DEF(C#) -> C++ -> C -> ABC
如果这是唯一的方法,谁能帮我举一些例子等吗?
【问题讨论】:
-
您是否为 COM 互操作注册了您的 c# dll?我过去做过,有可能。
-
如果回答了,请不要忘记将您的问题标记为已回答(检查答案的否决按钮下的钩子)。