有没有办法用C#P / Invoke调用用C编写并在Unix上构建的共享对象文件?
还是我需要使用Java或类似的东西?
Mono具有从dlopen(3)之上构建的C#中与本机库集成的能力。您只需要使用带有库名称的DllImport语句(即“ libform.so.5”),然后使用友好的C#类包装本机代码和数据类型,即可处理所有低级内容。该页面具有很好的概述,其中包含有关如何处理封送处理指针和其他不安全类型的大量信息。
编写包装器类后,就可以使用它,而不必担心它在下面使用本机共享库的事实。