Tôi sẽ không sử dụng Python trong trường hợp này, ngay cả khi có Boost.Python để giúp nhúng nó. Ngay cả những người Python nói nó có ý nghĩa hơn khi nhúng C trong Python so với cách khác, đơn giản vì Python không được thiết kế để nhúng.
Tôi thích sử dụng ngôn ngữ được thực hiện cụ thể được nhúng trong C++ hoặc C, như Lua, Falcon hoặc ChaiScript. Tuy nhiên tôi cũng muốn có một ngôn ngữ đầy đủ. Nếu tôi muốn viết một ứng dụng dưới những ràng buộc nặng nề (như các trò chơi trên bảng điều khiển), tôi thích sử dụng Lua được thiết kế cho việc này. Nếu không, tôi muốn sử dụng Falcon hoặc ChaiScript.
Falcon là một lựa chọn tốt để Python trong trường hợp này (nhúng một ngôn ngữ cấp cao trong C++): http://falconpl.org
Nó được thiết kế để làm việc với C++ và thậm chí cả các thư viện chuẩn được thực hiện trong C++.
Tôi cũng muốn sử dụng ChaiScript khi tôi muốn chỉ bao gồm các tiêu đề và đi với một ngôn ngữ scripring: http://chaiscript.org Nó được thiết kế để được tiêu đề duy nhất và dễ dàng tích hợp trong C++. Trong thực tế nó được thực hiện để làm việc với C + + chỉ.
Cả hai đều là ngôn ngữ cấp cao. Falcon trông giống Python và Ruby nhưng có lợi thế hơn là đề xuất nhiều mô hình lập trình hơn cả hai. Chaiscript trông giống như một C++ đơn giản vì vậy nó có thể không phải là sự lựa chọn tốt nhất cho những người không sử dụng cú pháp như vậy nhưng nếu không nó dễ dàng bị ràng buộc với mã C++ thực của bạn. Falcon cũng vậy, nhưng không theo cách tương tự và cú pháp dễ dàng hơn đối với những người không lập trình.
Nó không phải là một ngôn ngữ cấp cao nhưng giao diện ASM thực sự tốt đẹp với C và C++! :-). Lời khuyên khác tôi có thể cung cấp cho bạn là khi bạn có quá nhiều rắc rối khi liên kết mã C/C++ với mã Python của bạn, bạn luôn có thể tạo một DLL tốt đẹp cho mã C/C++ của bạn. Một số người thích COM dlls là tốt. – toto
C++ ** là ** ngôn ngữ cao, sự kiện không phải là ** dễ dàng ** một – Artyom