这是一种跟进的Integration of C#, F#, IronPython and IronRuby如何从C#/ F#调用IronPython函数?
问题,以便使用C/C++从Python函数,SWIG是最简单的解决方案。 相反的方式,也可以使用Python C API,例如,如果我们有一个Python函数如下
def add(x,y): return (x + 10*y)
我们可以拿出在C包装如下使用这条巨蟒。
double Add(double a, double b) { PyObject *X, *Y, *pValue, *pArgs; double res; pArgs = PyTuple_New(2); X = Py_BuildValue("d", a); Y = Py_BuildValue("d", b); PyTuple_SetItem(pArgs, 0, X); PyTuple_SetItem(pArgs, 1, Y); pValue = PyEval_CallObject(pFunc, pArgs); res = PyFloat_AsDouble(pValue); Py_DECREF(X); Py_DECREF(Y); Py_DECREF(pArgs); return res; }
IronPython/C#或甚至F#怎么样?
- 如何从IronPython调用C#/ F#函数?或者,IronPython/C#中有什么SWIG等价工具?
- 如何从C#/ F#中调用IronPython函数?我想我可以使用“engine.CreateScriptSourceFromString”或类似的,但我需要找到一种方法来调用IronPython函数看起来像一个C#/ F#函数,而不是写在字符串中的代码,但从文件中读取。
这是什么问题?你链接的问题没有回答什么? – Brian 2010-06-14 16:20:08
另见例如http://blogs.msdn.com/b/nickhodge/archive/2008/11/12/ironpython-f-parallel-async-a-kittehz-brekfst.aspx – Brian 2010-06-14 16:22:10