2010-07-22 15 views
5

Tôi đang tìm một ngôn ngữ kịch bản hoạt động trên các máy 32 bit và 64 bit cũng như trên Windows và Linux. Tôi sẽ nhúng nó vào một ứng dụng C++ vì vậy tôi thích nó được viết tự nhiên trong C++ thay vì C. Tôi cũng thích kịch bản để có hỗ trợ thread/asynchronous.Tìm kiếm ngôn ngữ kịch bản có thể nhúng cho C++ với hỗ trợ 64-bit và Cross Platform

Cho đến nay, các ngôn ngữ tôi đã xem là Công cụ JavaScript GameMonkey, Lua và V8. V8 JavaScript có sức hấp dẫn nhất cho đến nay. Tôi không thực sự muốn sử dụng GameMonkey vì AFAIK nó không hỗ trợ địa chỉ 64 bit. Lua được viết bằng C vì vậy tôi có lẽ sẽ sử dụng trình bao bọc C++, nhưng tôi thực sự không thích trộn mã C và C++.

Vì vậy, có một số lựa chọn thay thế khác mà tôi có thể xem?

+1

Lua biên dịch gọn gàng với giá trị C++. – lhf

+0

Cảm ơn lhf, đó là tin tuyệt vời :) – Tr41n

+0

cũng nhờ starblue để sửa thẻ của tôi :) – Tr41n

Trả lời

4

Tôi nói Lua. Nó siêu di động (Nó thậm chí chạy dưới PalmOS, WindowsCE và DOS!), Nhỏ (200-300k), nhanh chóng và nó rất dễ dàng để giao tiếp với C/C++.

Ngoài ra, Michael Pall có tiến bộ đáng kinh ngạc với việc thực hiện LUA JIT của mình. Phiên bản beta-4 hiện tại của anh hỗ trợ x86 và x86_64 và đánh bại crap trong hầu hết mọi ngôn ngữ thông dịch mà tôi biết: http://luajit.org/

+0

Wow, điều này thật thú vị, tôi sẽ sử dụng lua JIT :). Cảm ơn. – Tr41n

6

Cá nhân tôi thích Lua hơn những người khác. Có lẽ bởi vì nó được sử dụng bởi WoW và tôi làm tinh chỉnh của riêng tôi cho addons WoW. Nhưng tôi đã thấy nhiều ý kiến ​​tốt, ngay cả trên SO.

+0

Vâng, tôi đã chọn sử dụng Lua. Cảm ơn :) – Tr41n

3

Có thể Falcon, ChaiScript, IO hoặc thậm chí AngelScript có thể phù hợp với yêu cầu của bạn?

+0

Cảm ơn, Chưa từng thấy Falcon/ChaiScript/hoặc IO trước đây. Falcon là một ngôn ngữ thú vị. – Tr41n

+0

Có, tôi sử dụng nó trong một dự án lớn và nó là một lựa chọn tốt hơn so với Python vì một số lý do. Điều đó nói rằng, tôi cho rằng nó sẽ làm việc trong 64bit nhưng tôi đã không thử được nêu ra. – Klaim

+0

Chỉ muốn xác minh rằng 64bit ChaiScript không hoạt động. Nó chỉ được thử nghiệm chính thức trên Linux, nhưng đã tìm thấy 0 vấn đề. – lefticus

1

Nếu bạn sử dụng qt, bạn có thể sử dụng qtscript. Nếu không, python có thể là một ý tưởng hay.

+0

Chưa từng nghe về qtscript trước đây, cảm ơn :) – Tr41n

2

Bạn cũng có thể sử dụng Squirrel. ngay cả thừa kế lớp) và nhiều thứ gọn gàng. Nó là ngang bằng với Lua về tốc độ, nhưng kích thước mã một khi biên dịch là lớn hơn một chút.

Nếu bạn đang viết chương trình của mình bằng C++, bạn có thể thích nó hơn Lua, và cú pháp hấp dẫn hơn nhiều (đối với mắt và năng suất của bạn nếu bạn thường viết mã C++).