一尘不染

从C#调用UNIX和Linux共享对象文件.so

linux

有没有办法用C#P / Invoke调用用C编写并在Unix上构建的共享对象文件?

还是我需要使用Java或类似的东西?


阅读 459

收藏
2020-06-07

共1个答案

一尘不染

Mono具有从dlopen(3)之上构建的C#中与本机库集成的能力。您只需要使用带有库名称的DllImport语句(即“
libform.so.5”),然后使用友好的C#类包装本机代码和数据类型,即可处理所有低级内容。该页面具有很好的概述,其中包含有关如何处理封送处理指针和其他不安全类型的大量信息。

编写包装器类后,就可以使用它,而不必担心它在下面使用本机共享库的事实。

2020-06-07