python 教程 第二十一章、 扩展Python
来源:互联网 发布:网络教育本科文凭 编辑:程序博客网 时间:2024/06/08 00:59
第二十一章、 扩展Python
/* D:\Python27\Lib\Extest-1.0\Extest2.c */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Python.h"
int fac(int n)
{
if (n < 2) return(1);
return (n)*fac(n-1);
}
static PyObject *
Extest_fac(PyObject *self, PyObject *args)
{
int num;
if (!PyArg_ParseTuple(args, "i", &num))
return NULL;
return (PyObject*)Py_BuildValue("i", fac(num));
}
static PyMethodDef
ExtestMethods[] =
{
{ "fac", Extest_fac, METH_VARARGS },
{ NULL, NULL },
};
void initExtest()
{
Py_InitModule("Extest", ExtestMethods);
}
#!/usr/bin/env python
# D:\Python27\Lib\Extest-1.0\setup.py
from distutils.core import setup, Extension
MOD = 'Extest'
setup(name=MOD, ext_modules=[
Extension(MOD, sources=['Extest2.c'])])
将Extest2.c和setup.py放入 Extest-1.0目录下
安装MinGW编译环境(mingw-get-inst-20110530.exe)
下载http://sourceforge.net/projects/mingw/
D:\Python27\Lib\Extest-1.0>python setup.py install build --compiler=mingw32
测试一下
>>> import Extest
>>> Extest.fac(10)
3628800
>>>
- python 教程 第二十一章、 扩展Python
- python 教程 第二十一章、 扩展Python
- python扩展
- Python 扩展
- 扩展python
- 扩展python
- 【Python】【教程】Python 教程
- 快速教程:使用Cython来扩展Python/NumPy库
- 第二十一章
- python 教程
- python教程
- python教程
- Python教程
- python教程
- python教程
- python教程
- python教程
- Python教程
- python 教程 第十七章、 网络编程
- python 教程 第十八章、 Web编程
- python 教程 第十九章、 图形界面编程
- ATS项目更新(1) CC视图与备份路径同步
- python 教程 第二十章、 数据库编程
- python 教程 第二十一章、 扩展Python
- ATS项目更新(2) 命令行编译Studio解决方案
- 联想thinkpad s230u twist 如何使用u盘装系统
- python 教程 第二十二章、 其它应用
- struts2从2.2.3升级到2.3.15.1步骤
- ATS项目更新(3) 远程同步到执行机器
- IP地址的正则表达式
- 概念模型,逻辑模型,物理模型
- 隐藏Activity刚进来焦点在EditText时的键盘显示