2011-01-15 27 views
5

Dường như có vẻ đơn giản để nhúng vào một dự án C/C++, nhưng nó hoạt động như thế nào trên iOS hoặc Android? Liệu nó có yêu cầu thư viện của bên thứ ba không có sẵn cho các nền tảng đó không?Có thể nhúng Guile trong ứng dụng C++ trên iOS hoặc Android không?

Làm cách nào để sử dụng ngôn ngữ kịch bản có thể nhúng như trái ngược với JavaScript hoặc Lua?

+0

@Cristian: Hahahaha. Để tham khảo: http://www.gnu.org/software/guile/ –

Trả lời

3

Trên iOS, C++ (rõ ràng) hoạt động cho mã back-end, tuy nhiên, bạn sẽ cần Objective-C để xử lý sự kiện GUI/sự kiện. (Đã sửa). Ngoài ra, mã Android thường là Java. Trong khi bạn có thể viết mã nguồn gốc, nó thường chậm hơn vì phí giao tiếp giữa mã gốc và mã Dalvik trên Android.

Xây dựng guile với GCC và Xcode của Apple chứa biến thể của GCC, vì vậy bạn có thể làm cho nó hoạt động. Tuy nhiên, tôi sẽ cẩn thận về một vài điều:

1) GCC ngã ba của Apple có thể không chứa tất cả các tính năng cần thiết để xây dựng phiên bản Guile hiện đại. Trong khi chính Guile được cấp phép theo LGPL (Giấy phép Công cộng Ít hơn GNU) và do đó được phép sử dụng trong các ứng dụng iOS, nhiều thư viện Guile có thể nằm trong GPL, khiến chúng không sử dụng được (vì pháp lý chứ không phải là kỹ thuật, lý do).

Tôi chưa thể thử nghiệm điều này (không có quyền truy cập vào máy Mac), tuy nhiên, ít nhất Guile nên xây dựng trong Xcode.

Đối với hiệu suất của Guile dưới dạng ngôn ngữ kịch bản được nhúng, tùy chọn cá nhân được ưu tiên. Guile là một Đề án hiện đại, đầy đủ tính năng, tuy nhiên, bạn phải xem xét thị trường mục tiêu của mình. Nếu họ có khả năng từ chối Đề án, JavaScript (đặc biệt) có thể là một lựa chọn tốt hơn.

+0

Tôi đã sử dụng phản hồi của Martin York ở đây: http://stackoverflow.com/questions/270455/is-it-possible-to-program-iphone- in-c để tham khảo. Tôi cũng nghĩ rằng SnappyTouch (http://gamesfromwithin.com/) đang sử dụng C++ làm phụ trợ iOS của họ. Ngoài ra, cảm ơn thông tin! – GrooveStomp

+0

Tôi đã sửa. Apple chỉ yêu cầu Objective-C cho front-end. Đồng thời: 3.3.1 - Ứng dụng chỉ có thể sử dụng API được ghi theo cách thức được Apple quy định và không được sử dụng hoặc gọi bất kỳ API riêng tư nào. Ứng dụng ban đầu phải được viết bằng Objective-C, C, C++ hoặc JavaScript như được thực thi bởi công cụ WebKit của iPhone OS và chỉ có mã được viết bằng C, C++ và Objective-C mới có thể biên dịch và liên kết trực tiếp với API được Tài liệu (ví dụ: Các ứng dụng liên kết tới các API được tài liệu thông qua một bản dịch trung gian hoặc lớp tương thích hoặc công cụ đều bị cấm). Tôi sẽ chỉnh sửa câu trả lời. – nickname

Các vấn đề liên quan