#include “python.h”pyobject* hello(pyobject* self, pyobject* args){ const char * str; if (! pyarg_parsetuple(args, “s”, &str)) return null; return py_buildvalue(“s”,str);}static pymethoddef hellomethods[] = { {“hello”, hello, meth_varargs, “hello comments”}, {null, null, 0, null}};pymodinit_func inithello(void){ py_initmodule(“hello”, hellomethods);}
一个python mod 因该有几个部分1 扩展函数 hellopyobject* hello(pyobject* self, pyobject* args){只能是这样的结构pyarg_parsetuple 处理参数
2 函数列表 hellomethodsstatic pymethoddef hellomethods
3 初始化函数 inithelloinit函数名
编译在 ubuntu 下需要安装python-devsudo apt-get install python-dev
yum服务器上应该是python-devel
#!/usr/bin/env pythonimport helloprint hello.hello(‘world’)
python 运行时候 会加载当前目录的.so