**问个c/c++中嵌入脚本语言的问题**

hawkxjy 2005-08-02 07:22:35
想在C/C++中嵌入使用Python脚本以实现部分功能,如何才能在Python中调用C中的方法??

看了一些文档都是在linux下实现的,我的C/C++代码是用VC7做的,怎么来实现呀??
...全文
146 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hawkxjy 2005-08-08
  • 打赏
  • 举报
回复
呵呵,谢谢楼上几位老兄!
Wolf0403(完美废人)(CSDN,请不要侮辱 Linux):ActivePython我倒是还没有接触过,不清楚其具体含义。


windows下使用Python需要把C/C++作成DLL才行,然后可以进行调用,当然,C的接口函数需要满足一定的规则定义,象 liuhaimiao提到的那样-------------
  • 打赏
  • 举报
回复
要在Python解释器中使用C语言中的某个函数,首先要为其编写相应的导出函数
在Python的C语言扩展中,所有的导出函数都具有相同的函数原型:
PyObject* method(PyObject* self, PyObject* args);
该函数是Python解释器和C函数进行交互的接口,带有两个参数:self和args。参数self只在C函数被实现为内联方法(built-in method)时才被用到,通常该参数的值为空(NULL)。参数args中包含了Python解释器要传递给C函数的所有参数,通常使用Python的C语言扩展接口提供的函数PyArg_ParseTuple()来获得这些参数值。所有的导出函数都返回一个PyObject指针,如果对应的C函数没有真正的返回值(即返回值类型为void),则应返回一个全局的None对象(Py_None),并将其引用计数增1:PyObject* method(PyObject *self, PyObject *args)
{
Py_INCREF(Py_None);
return Py_None;
}


PyObject* method(PyObject *self, PyObject *args)
{
Py_INCREF(Py_None);
return Py_None;
}


  • 打赏
  • 举报
回复
我研究过一阵子PYTHON
  • 打赏
  • 举报
回复
先把PYTHON支持装到vc7里面,我装过
Wolf0403 2005-08-03
  • 打赏
  • 举报
回复
1、boost 有个 python 库
2、ActivePython 好像支持 ActiveX 扩展
3、ActivePython 应该支持 Linux 上 Python 的 extend 方法。具体参考 ActivePython 的文档吧。
hawkxjy 2005-08-03
  • 打赏
  • 举报
回复
不是吧,竟然没人回复??

没人用过Python吗?这可是个很基本的问题呀————————————
bingbox_1984 2005-08-02
  • 打赏
  • 举报
回复
不懂,UP
等高手来指教,关注中....

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧