从 C# 代码构建跨平台共享库
Building cross platform shared libraries from C# code
我有一个使用 C# 开发软件系统的场景。该系统中的算法已实现为共享库(但也用 C# 编写),试图使系统更加模块化,即功能可以 added/removed 由 adding/removing 各种 .dll。
我对在非 windows 平台上重用现有代码库的难易程度很感兴趣。是否可以:
a) 构建整个系统,使其可以 运行 在非 windows 平台上?
b) 构建整个系统,使其可以 运行 在 android 设备上?
c) 交叉构建组件 C# 共享库,以便它们可以 运行 在基于 linux 的平台上(或通过 NDK 作为 android 本机库)?
除了对这些选项是否可能感兴趣外,我还对它们是否合理感兴趣,即重用我们已有的东西是有意义的,还是您真的应该从头开始?
我认为您正在尝试将 C# 代码移植到 NDK 中。由于 Android NDK 支持 C++ 作为本机语言并且(很像 Java 的 JNI)但我不知道 NDK/JNI 中的 C# 你可以尝试 this 这可能会有所帮助你将 C# 代码移植到 C++ 中(我没有 tried/used) 如果代码移植成功对你来说似乎是 feasible/possible 那么你可以尝试 NDK/JNI。对于 linux 部分,如果您使用 NDK 成功地将这些代码移植到 android,这不会有什么大不了的,因为 android 的内核只是 linux 的一个分支.
我有一个使用 C# 开发软件系统的场景。该系统中的算法已实现为共享库(但也用 C# 编写),试图使系统更加模块化,即功能可以 added/removed 由 adding/removing 各种 .dll。
我对在非 windows 平台上重用现有代码库的难易程度很感兴趣。是否可以:
a) 构建整个系统,使其可以 运行 在非 windows 平台上?
b) 构建整个系统,使其可以 运行 在 android 设备上?
c) 交叉构建组件 C# 共享库,以便它们可以 运行 在基于 linux 的平台上(或通过 NDK 作为 android 本机库)?
除了对这些选项是否可能感兴趣外,我还对它们是否合理感兴趣,即重用我们已有的东西是有意义的,还是您真的应该从头开始?
我认为您正在尝试将 C# 代码移植到 NDK 中。由于 Android NDK 支持 C++ 作为本机语言并且(很像 Java 的 JNI)但我不知道 NDK/JNI 中的 C# 你可以尝试 this 这可能会有所帮助你将 C# 代码移植到 C++ 中(我没有 tried/used) 如果代码移植成功对你来说似乎是 feasible/possible 那么你可以尝试 NDK/JNI。对于 linux 部分,如果您使用 NDK 成功地将这些代码移植到 android,这不会有什么大不了的,因为 android 的内核只是 linux 的一个分支.