[英]Import C++ classes in python?
所以..說我有這個C函數:
PyObject* Foo(PyObject* pSelf, PyObject* pArgs)
{
MessageBox(NULL, "Foo was called!", "Info", MB_OK);
return PyInt_FromLong(0);
}
然后,我必須這樣做:
static PyMethodDef Methods[] =
{
{"Foo", Foo, METH_NOARGS, "Dummy function"},
{NULL, NULL, 0, NULL}
};
Py_InitModule("bar", Methods);
我執行了python腳本。但是C函數有點煩人,它是C ++,並且幾乎所有類都使用類。
那么,有什么方法可以將成員函數從類導入到我的python腳本中?
哦,順便說一句,python腳本看起來像這樣:
import bar
from bar import *
Foo()
boost.python使您可以非常有效地做到這一點。
SWIG也可以很好地工作。
看看boost python頁面。 搜索“免費功能”。
Cython具有我發現的最好的C ++包裝 ,盡管它比SWIG更為冗長,並且有一定的思維定式。 編寫映射比SWIG更容易-因為它使用Python類型-但您必須手動編寫所有映射。 這也是一個非常活躍的項目,具有非常友好的郵件列表。 它還對NumPy具有良好的緩沖區支持。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.