2013-09-17 3 views
4

В настоящее время я изучаю, как писать мобильные приложения для Android с помощью Xamarin и C#. Также у меня есть некоторые библиотеки C++ (и исходный код для них), которые должны использоваться в приложении. Эти библиотеки отвечают за связь через интернет (просто сказать).Xamarin and C++ code

Значит, этот код C++ можно использовать в проекте xamarin.android? Или он должен быть переписан в C#, который будет использоваться?

ответ

3

Я не уверен в сети, но большинство кода на С ++ можно использовать на 100% в Xamarin.

Если он работает, вы не можете быть уверены, что он работает правильно в любой ситуации на IOS. У нас была такая же проблема с использованием UDP-сокетов для VOIP (C#). Большую часть времени он будет работать, но в случае VOIP вам нужно использовать сокеты iOS, чтобы вы могли установить их в специальный режим, чтобы они не закрывались, когда приложение приостанавливается.

Так что это зависит от того, что вы хотите сделать и как написан код C++. Я не уверен, что вы можете использовать обычные сокеты UNIX при использовании C++ в iOS, но это должно быть единственной проблемой при ее использовании.

Только что проверил: Does Mac/IOS use the same sys/socket.h as the Linux kernel?

Я думаю, если ваша библиотека использует BSD сокетов все должно быть хорошо.

+0

Извините, брат, за то, что вы так долго не принимали ответ. Как-то это заблудилось. – steavy

1

Обычно можно не вызывать некоторый код в любой другой библиотеке, если

  1. Она экспортирует функциональность
  2. Существует обертка на вашем языке, чтобы использовать эту экспортируемую функциональность.

Я мало знаю об этой вещи Xamarin, но я думаю, вы должны увидеть, совместима ли библиотека с бинарным кодом, а не кодом (то есть), который компилируется вместе с источником вашего проекта на C++, и вы можете звонить ему с вашего C#.

Также, проверяя документы библиотеки Zamarin, кажется, что на платформе Xamarin не может использоваться каждый фрагмент кода C#. Пожалуйста, ознакомьтесь с сообществом Xamarin и форумами для более подробной информации.

+0

обычно, да. И у нас есть проект C# (WinForms), который использует обертки для вызова этих библиотек. Но возможно ли в Xamarin это сделать? – steavy