Python 作為一門高級語言,給人們提供了非常快速的開發方式。但是,有些代碼需要使用 C++ 來實現,因為 C++ 可以提供更高的性能。現在 Python 提供了一種叫做 ctypes 的機制,可以方便地在 Python 中使用 C++ 代碼。下面我們來了解一下它的用法。
1. 編寫 C++ 代碼并編譯成動態鏈接庫。
#include#include extern "C" { int myadd(int a, int b) { return a + b; } }
我們在 C++ 代碼中定義了一個名為 myadd 的函數,然后編譯成動態鏈接庫,可以這樣執行:
$ g++ -shared -fPIC -o libmylib.so mylib.cpp
2. Python 調用 C++ 代碼。
from ctypes import * lib = CDLL("./libmylib.so") result = lib.myadd(1, 2) print(result)
我們使用 ctypes 中的 CDLL 函數來加載動態鏈接庫,然后使用lib.myadd
來調用 C++ 代碼中的函數。當然,還需要指定函數的參數和返回值類型為整型。
通過以上兩個步驟,我們就可以方便地在 Python 中使用 C++ 代碼了。