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

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

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

Solutions Collecting From Web of "从c#调用UNIX和Linux共享对象文件.so"

单声道能够与建立在dlopen(3)之上的C#中的本地库集成。 你只需要使用带有库的名字的DllImport语句(即'libform.so.5'),然后用一个友好的C#类来包装本地代码和数据类型,这个C#类负责处理所有低级的东西。 这个页面有很多关于如何处理编组指针和其他不安全类型的信息。

一旦你写好了你的包装类,你可以使用它,而不必担心它使用下面的本地共享库。

至少我可以说,这很可能没有简单的方法,尤其是如果你的意思是Windows上的C#。 在这种情况下,你将需要一些能够解码共享对象并获取其中的代码的东西,就像重新实现ABI for GNU / linux一样。 而且,任何其他库也必须存在并且可用,例如C运行时库等。 这可能是一个非常重要的努力。

至于直接在linux / Mono下执行,请看这个答案: 从c#调用UNIX和Linux共享目标文件.so 。

你也可以尝试看看开放式办公室是否有用, http://packages.debian.org/lenny/cli-uno-bridge可能会有所帮助; 但这更像是一个界面,而不是直接把两者联系在一起。