2011-01-15 17 views
5

Guile wygląda nieco prosto, aby osadzić go w projekcie C/C++, ale jak to się dzieje w systemie iOS lub Android? Czy wymaga bibliotek innych firm, które są niedostępne dla tych platform?Czy można osadzić Guilla w aplikacji C++ na iOS lub Android?

Jak to jest jako język skryptowy do wbudowania w przeciwieństwie do JavaScript lub Lua?

+0

@Cristian: Hahahaha. Dla odniesienia: http://www.gnu.org/software/guile/ –

Odpowiedz

3

Na iOS, C++ (podobno) pracuje dla kodu zaplecza, jednak będziesz potrzebować Objective-C do obsługi GUI/zdarzeń. (Poprawione). Ponadto kod Androida to zazwyczaj Java. Chociaż możesz pisać kod natywny, jest on często wolniejszy ze względu na obciążenie komunikacyjne między natywnym kodem i kodem Dalvik na Androida.

Guile buduje z GCC, a kod Xcode firmy Apple zawiera odmianę GCC, więc możesz go uruchomić. Byłbym jednak ostrożny z kilku powodów:

1) Widelec GCC firmy Apple może nie zawierać wszystkich funkcji niezbędnych do zbudowania nowoczesnych wersji Guile. 2) Podczas gdy sam Guile jest objęty licencją LGPL (GNU Lesser General Public Licence), a zatem może być używany w aplikacjach na iOS, wiele bibliotek Guile może znajdować się na licencji GPL, co czyni je bezużytecznymi (prawnie, a nie technicznie, powody).

Nie mogłem tego przetestować (nie mam dostępu do komputera Mac), jednak Guile powinien przynajmniej wbudować Xcode.

Jeśli chodzi o wydajność Guilla jako osadzonego języka skryptowego, pierwszeństwo mają osobiste preferencje. Guile to w pełni funkcjonalny, nowoczesny Schemat, jednak musisz wziąć pod uwagę swój rynek docelowy. Jeśli mogą odrzucić Schemat, JavaScript (szczególnie) może być lepszym wyborem.

+0

Użyłem odpowiedzi Martina Yorka tutaj: http://stackoverflow.com/questions/270455/is-it-possible-to-program-iphone- w-c w celach informacyjnych. Myślę też, że SnappyTouch (http://gamesfromwithin.com/) używa C++ jako swojego backendu iOS. Poza tym, dzięki za informacje! – GrooveStomp

+0

Ja się poprawiam. Apple wymaga jedynie Objective-C dla front-end. Ponadto: 3.3.1 - Aplikacje mogą wykorzystywać Udokumentowane API w sposób opisany przez Apple i nie mogą wykorzystywać prywatnych funkcji API ani wywoływać ich. Aplikacje muszą być oryginalnie napisane w języku C, C, C++ lub JavaScript, zgodnie z mechanizmem WebKit iPhone OS, a tylko kod napisany w C, C++ i Objective-C może kompilować i bezpośrednio łączyć się z udokumentowanymi API (np. Aplikacje, które prowadzą do Udokumentowanych API poprzez pośredniczące tłumaczenie lub warstwę kompatybilności lub narzędzie są zabronione). Będę edytować odpowiedź. – nickname