如何从我的 C 代码调用 C# dll 中的方法
How do I call methods in a C# dll from my C code?
我正在尝试在基于 Lisp 的第三方程序(我们称之为 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
如果这是唯一的方法,任何人都可以帮我举一些例子等吗?
创建 .NET 程序集时,可以设置一个复选框,使其具有 为 COM 互操作注册的程序集。这将允许您访问它 从任何可以调用COM的语言(C可以吗?好久不见 因为我触摸了 C 或 C++。
配置属性 ->项目属性的"生成"页。 查找"注册 COM 互操作"。
使用此项目可将 C# 函数导出为本机入口点。
相关文章:
- 跨 DLL 边界访问虚拟方法是否安全/可能?
- C++ |DLL / EXE - 如何从导出的类调用另一个类方法?
- 创建一个C++DLL以从C#DLL调用方法
- 在 c++ 中创建 dll 并在 delphi 中调用的标准方法
- 努力使用 C# 从本机 DLL 调用该方法
- Java 调用 dll 字符串返回类型方法
- 我们如何从 C# 中的 DLL 中获取C++所有方法?
- 全局挂钩 DLL 仅在 C# 主窗口处于活动状态/前台时调用 C# 回调方法
- 显式链接 DLL 和类方法
- 从C#调用C DLL方法
- 是否可以使用 Excel::_Application::Run 调用 C# dll 方法
- 如何从 JAVA 程序中访问文件中定义的类.DLL方法
- 当从一个应用程序调用时,在DLL方法中创建COM接口指针是有效的,但当从另一个应用软件调用时则无效
- 使用C++从Windows应用程序向dll方法传递字符串
- 如何解决调用 dll 方法时的访问冲突写入位置
- 将 dll 方法从C++导出到 C#。为什么我需要:" extern " C " "
- 当c#程序试图在c++ dll方法中使用cudaMalloc分配超过2GB时终止
- 访问dll方法时的访问冲突读取位置
- 使用JNA从Java调用c++ dll方法并避免方法名称混淆
- 代理dll:方法覆盖/方法转发(COM实现继承)