1

我使用 mono --aot=full 编译了我在 linux 下编写的一个小程序,它生成了一个 .so 文件。我阅读了这些,发现它们实际上是库而不是可执行文件,我想知道如何在 ac 程序中链接到这些库,以便我可以在 c 程序中使用我用 c sharp 编写的方法?

提前致谢。

4

1 回答 1

1

--aot=full交换机产品是一个具有预编译字节码的 .so 文件。它依赖于平台并运行本机指令,但它仍然需要 CLR(Mono Runime)来执行线程和任务管理以及其他 .NET 平台操作。

如果您需要它从非托管 (C/C++) 程序中调用本机 (C#) 方法,您正在寻找这些资源:

  • mono 的本机互操作规则此链接显示如何从 C# 程序调用本机 (C/C++) 方法,但它还具有您努力所需的所有类型兼容性;
  • 嵌入 Mono此链接显示如何从 C/C++ 代码中启动 Mono Runtime 以及之后如何调用托管代码;
于 2014-01-22T05:47:19.620 回答