扩展PythonPython提供了支持C/C++接口,可以方便地使用C/C++来扩展Python。用C/C++编写的Python扩展主要用于完成底层的系统操作,以及提高执行速度等。 扩展概述Python提供了接口API,通过使用API函数可以编写Python扩展。在Windows下可以使用VC来编译Python扩展。来编译。。如果使用VC++,则设置过程如下所示。(1)单击【Tools】|【Options】命令,弹出如图8-1所示的对话框。(2)单击【Directories】标签,选择【Showdirectoriesfor】下拉列表框中的【Includefiles】项,将Python安装目录下的INCLUDE目录添加到【Directories】列表中,如图8-2所示。(3)选择【Showdirectoriesfor】下拉列表框中的【Libraryfiles】项,将Python安装目录下的LIBS目录添加到【Directories】列表中,如图8-3所示。(4)单击【OK】按钮完成操作。如果使用VisualStudio2005,则设置过程如下所示。(1)单击【工具】|【选项】命令,弹出如图8-4所示的对话框。(2)双击左侧列表树中的【项目和解决方案】项,选择【VC++目录】项,如图8-5所示。(3)选择【显示以下内容的目录】下拉列表框中的【包含文件】项,将Python安装目录下的include目录添加到列表中,如图8-6所示。图8-1 Options对话框图8-2 添加头文件 图8-3 添加库文件图8-4 选项对话框 图8-5 设置VC++目录图8-6 添加头文件 (4)选择【显示以下内容的目录】下拉列表框中的【库文件】项,将Python安装目录下的libs目录添加到列表中,如图8-7所示。(5)单击【确定】按钮完成操作。图8-7 添加库文件 ++。(1)单击【File】|【New】命令,弹出创建工程对话框。单击【Projects】标签,选择左侧列表中的【Win32Dynamic-LinkLibrary】项,在【Projectname】文本框中输入工程名“myext”,如图8-8所示。(2)单击【OK】按钮,弹出如图8-9所示的工程设置对话框。选中【AnemptyDLLproject.】单选框。图8-8 创建工程对话框 图8-9 工程设置对话框(3)单击【Finish】按钮弹出如图8-10所示的确认对话框。单击【OK】按钮完成工程创建。(4)单击【File】|【New】命令弹出创建文件对话框,单击【Files】标签。选择左侧列表中的【C++SourceFile】项,在【File】文本框中输入文件名“”,如图8-11所示。图8-10 确认对话框 图8-11 添加文件 (5)单击【OK】按钮,在“”中添加如下内容。#include#includePyObject*show(PyObject*self,PyObject*args){char*message;constchar*title=NULL;HWNDhwnd=NULL;intr;if(!PyArg_ParseTuple(args,"iss",&hwnd,&message,&title))returnNULL;r=MessageBox(hwnd,message,title,MB_OK);returnPy_BuildValue("i",r);}staticPyMethodDefmyextMethods[]={{"show",show,METH_VARARGS,"showamessagebox"},{NULL,NULL}};PyMODINIT_FUNCinitmyext(){PyObject*mod;mod=Py_InitModule("myext",myextMethods);}(6)单击【Project】|【Settings】命令,弹出如图8-12所示的工程设置对话框。(7)选择【SettingsFor】下拉列表框中的【Win32Release】项。单击【Link】标签,将【Outpubfilename】文本框中的“Release/”改为“Release/”,如图8-13所示。图8-12 工程设置对话框 图8-13 设置Link选项 (8)单击【C/C++】标签,选择【Category】下拉列表框中的【CodeGeneration】项,选择【Userun-timelibrary】下拉列表框中的【MultithreadedDLL】项,如图8-14所
征服python 来自淘豆网m.daumloan.com转载请标明出处.