Về cơ bản tôi muốn thực hiện một chức năng gọi chương trình Python viết bằng C.Python-C tích hợp: ctypes, CFFI hoặc tạo một Module Binary
Vì vậy (như xa như tôi biết) tùy chọn của tôi là:
- ctypes/CFFI
- Tạo một DLL/SO/DyLib chứa các hàm C và truy cập chúng bằng ctypes hoặc CFFI. Rõ ràng CFFI là cách nhanh hơn với nhược điểm duy nhất của việc phải khai báo trong python tất cả các chữ ký chức năng.
- Ưu điểm:
- Đừng có để thực hiện bất kỳ sự thích nghi trong các chức năng C của tôi. Tất cả các loại-dịch được thực hiện bằng Python.
- Nhược điểm:
- Hiệu suất?
- Python Binary Mô-đun
- Viết một giao diện python trong C, chuyển đổi mô-đun C của tôi vào một mô-đun python nhị phân
- Ưu điểm:
- Hiệu suất?
- Nhược điểm:
- Tất cả các loại-dịch được thực hiện trong C. Sử dụng [SIP] [3] này có thể được tự động.
Chuyển đổi các mô-đun C vào một con trăn mô-đun nhị phân thực sự nhanh hơn?
Cả hai giải pháp có hỗ trợ gửi hàm callback python đến hàm C không?
SIP có phải là tùy chọn tốt để tạo giao diện python không? Có sự lựa chọn nào khác không ?
Có bất kỳ đặc điểm nào khác trong số đó không?
Tìm thấy một số nội dung hay: [5 cách sử dụng Python với mã gốc] (http://kos.gd/2013/01/5-ways-to-use-python-with-native-code/), [ Công cụ trình bao bọc Python: A Nghiên cứu hiệu suất] (http://web.archive.org/web/20070703071726/http://people.web.psi.ch/geus/talks/europython2004_geus.pdf) – romulof