从C#代码构建跨平台共享库

时间:2015-03-11 10:21:32

标签: c# android linux cross-platform

我有一个使用C#开发软件系统的场景。该系统中的算法已经实现为共享库(但也用C#编写),试图使系统更加模块化,即可以通过添加/删除各种.dll来添加/删除功能。

我感兴趣的是,在非Windows平台上可以轻松地重用现有的代码库。是否有可能:

a)构建整个系统,使其可以在非Windows平台上运行?

b)构建整个系统,以便它可以在Android设备上运行吗?

c)交叉构建组件C#共享库,以便它们可以在基于linux的平台上运行(或通过NDK作为android本机库)?

除了对这些选项是否可能感兴趣之外,我还对它们是否明智感兴趣,即重用我们的'是否有意义'你或者真的应该从头开始吗?

1 个答案:

答案 0 :(得分:2)

我认为您正在尝试将C#代码移植到NDK中。由于Android NDK支持C ++作为本机语言(和Java的JNI非常相似)但我不知道NDK / JNI中的C#,您可以尝试使用this来帮助您将C#代码移植到C ++中(如果代码移植成功,那么你可以尝试使用NDK / JNI,如果你似乎可行/可能)。对于linux partif,你使用NDK成功地将这些代码移植到了android,它不会是一个大问题,因为android的内核只是linux的一个分支。