Hướng dẫn python call c code
Nếu đã từng dùng qua các thư viện liên quan đến toán học của Python như Show Vậy làm sao để có thể gọi được mã C++ từ trong Python? Trong Python, có khá nhiều thư viện có thể giúp bạn đạt được điều này. Bài viết sau đây sẽ hướng dẫn bạn dùng thư viện Lợi ích của việc dùng hàm C++ trong PythonTrước hết, đây là những lợi ích của việc call function được viết bằng C++ trong Python:
1. Chuẩn bị shared libraryĐể dùng được code C++ trong Python, bạn sẽ cần phải compile nó ra dưới dạng shared library. Trong Windows, đây sẽ là một file có đuôi Trong ví dụ này, mình sẽ xuất một function in ra dãy số Fibonacci đến số thứ
Trong đoạn code trên, block lệnh
Còn đoạn Sau khi có được hàm C++, ta cần compile code ra một file obj. Với MSVC, cú pháp để compile là:
Sau khi compiler biên dịch ra
file
Kết quả, ta sẽ được một 2. Dùng shared library trong Python với ctypesPython cung cấp sẵn cho ta thư viện Đầu tiên, ta cần import
Sau đó, ta có thể gọi luôn hàm
hoặc
Đều cho ra output là:
Mặc định, kiểu dữ liệu trả về sẽ là
Nếu như ta chạy đoạn code Python trên, nó sẽ báo lỗi:
Mặc dù giá trị
Lúc này, đoạn code trên sẽ không bị lỗi convert parameter nữa. Tuy nhiên, kết quả mà hàm trả ra lại không hề đúng chút nào.
Như đã nhắc ở trên, việc gọi hàm ngoài sẽ luôn trả về một giá trị
Bằng cách đổi data type mà function return về sang
Như vậy, bài viết trên đã hướng dẫn các bạn gọi được function được viết bằng C++ ở trong Python. Hy vọng bài viết này sẽ hữu ích cho các bạn. |