7

目前我正在探索如何使用 Xamarin 和 C# 为 Android 编写移动应用程序。我还有一些应该在应用程序中使用的 c++ 库(和它们的源代码)。这些图书馆负责通过互联网进行通信(只是说)。

那么可以在 xamarin.android 项目中使用这个 c++ 代码吗?还是应该用c#重写才能使用?

4

2 回答 2

4

我不确定网络,但大多数 C++ 代码可以在 Xamarin 中 100% 使用。

如果它有效,您无法确定它是否在 IOS 上的所有情况下都能正常工作。我们在为 VOIP(C#) 使用 UDP 套接字时遇到了同样的问题。大多数情况下它会工作,但在 VOIP 的情况下,您需要使用 iOS 套接字,以便您可以将它们设置为特殊模式,以便在应用程序暂停时它们不会关闭。

因此,这取决于您要做什么以及如何编写 C++ 代码。我不确定在 iOS 上使用 C++ 时是否可以使用普通的 unix 套接字,但这应该是使用它时唯一的问题。

刚刚检查:Mac/IOS 是否使用与 Linux 内核相同的 sys/socket.h?

我认为,如果您的库使用 BSD 套接字,一切都应该没问题。

于 2013-09-21T16:58:18.947 回答
1

通常可以调用任何其他库中的某些代码,除非

  1. 它导出功能
  2. 您的语言中有一个包装器可以使用该导出功能。

我对这个 Xamarin 的东西不太了解,但我想你应该看看这个库是否是二进制兼容的,而不是与你的 C++ 项目的源代码一起编译的代码(即),你可以从你的 C# 程序中调用它。

此外,在检查 Zamarin 库文档时,似乎并非每段 C# 代码都可以在 Xamarin 平台上使用。有关详细信息,请查看 Xamarin 社区和论坛。

于 2013-09-17T12:25:38.017 回答