【发布时间】:2010-06-14 15:59:52
【问题描述】:
这是Integration of C#, F#, IronPython and IronRuby的后续问题
为了在 Python 中使用 C/C++ 函数,SWIG 是最简单的解决方案。 相反的方式也可以使用 Python C API,例如,如果我们有一个 python 函数如下
定义添加(x,y): 返回 (x + 10*y)我们可以想出 C 中的包装器来使用这个 python,如下所示。
双加(双a,双b) { PyObject *X, *Y, *pValue, *pArgs; 双分辨率; 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); 返回资源; }IronPython/C# 甚至 F# 怎么样?
- 如何从 IronPython 调用 C#/F# 函数?或者,IronPython/C# 中是否有任何 SWIG 等效工具?
- 如何从 C#/F# 调用 IronPython 函数?我想我可以使用“engine.CreateScriptSourceFromString”或类似的,但我需要找到一种方法来调用 IronPython 函数,看起来像一个 C#/F# 函数,而不是在字符串中编写代码,而是从文件中读取。
【问题讨论】:
-
问题是什么?您链接的问题没有回答什么?
标签: c# f# ironpython