使用C++创建Pyd文件扩展Python模块

原创 2017年01月17日 22:23:09

1、需要说明的是Pyd文件其实就是dll,为了python能正常调用,这个dll规定了导出函数的一些规则。下面代码简单演示使用c++创建一个函数,并使用Python调用该模块。

(注意需要添加python的head路径和lib路径,具体操作,可见下面的视频链接)

#include <Python.h>
#include <iostream>

//需要绑定的方法
static PyObject* PrintHello(PyObject *self, PyObject *args)
{
	std::cout << "Hello, I am form c++" << std::endl;

	//测试一下使用c++/clr,让python调用
// 	System::Windows::Forms::Form^ TestDotNetWindows = gcnew System::Windows::Forms::Form();
// 	TestDotNetWindows->ShowDialog();

	Py_INCREF(Py_None);
	return Py_None;
}

//描述方法
static PyMethodDef Methods[] = {
	{"PrintHelloFn", PrintHello, METH_VARARGS, "文档字符串"},
	{NULL, NULL}
};

//初始化模块
PyMODINIT_FUNC initPrintHello(void)
{
	Py_InitModule("PrintHello", Methods);
}

2、上述代码具体使用请点击下面视频。

http://player.youku.com/player.php/sid/XMjQ3NDY0MjUxNg==/v.swf


Python 程序扩展名(py, pyc, pyw, pyo, pyd)及发布程序时的选择

在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名。下面是几种扩展名的用法。...
  • chroming
  • chroming
  • 2016年08月01日 10:18
  • 9138

python py、pyc、pyo、pyd文件区别

py是源文件,pyc是源文件编译后的文件,pyo是源文件优化编译后的文件,pyd是其他语言写的python库 python并非完全是解释性语言,它是有编译的,先把源码py文件编译成pyc或者pyo...
  • willhuo
  • willhuo
  • 2015年11月17日 13:59
  • 10688

python 文件 .py .pyc .pyw .pyo .pyd

DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。打不开,不过可以使用反汇编;PYD是一种PYTHON动态模块。实质上还是dll文件,只是改了后缀为PYD...
  • FENGQIYUNRAN
  • FENGQIYUNRAN
  • 2015年05月24日 14:59
  • 9032

python转成pyd方法

版本:python 2.7.12 Cython安装 利用pip安装: pip install Cython --install-option="--no-cython-compile" 或者自...
  • kalulioo
  • kalulioo
  • 2016年09月01日 16:46
  • 555

Python import .pyd 可能遇到路径的问题

Python import .pyd文件时会搜索sys.path列表中的路径 运行 import xxx.pyd 1. 'ImportError: No module named xxx' ...
  • xyk198307
  • xyk198307
  • 2015年04月27日 22:00
  • 4417

编译C代码为python模块(pyd)

做个备份,免得将来忘了 swig –python example.i python setup.py build_ext --compiler=mingw32 –inplace   #setu...
  • fxsjy
  • fxsjy
  • 2009年10月19日 08:44
  • 3420

Python和C|C++的混编(一):Python调用C、C++---Boost库

不使用boost.python库来直接构建dll的话比较繁琐,下面实例是借助boost库实现python对C、C++的调用 1 首先确定已经安装python和boost库,本例测试环境是python2...
  • lanbing510
  • lanbing510
  • 2013年09月30日 16:09
  • 7306

Python灰帽子环境配置需要的库和pydasm.pyd文件

  • 2014年09月30日 14:12
  • 205KB
  • 下载

pyx文件 生成pyd 文件用于 cython调用

写pyx文件pyx文件是python的c扩展文件,代码要符合cython的规范,用什么编辑器写都行。我在eric4上写的,结果它默认用python解释器来进行解释,还提示有bug,“语法错误”。不理会...
  • darren2015zdc
  • darren2015zdc
  • 2017年01月16日 16:02
  • 5311

使用C++扩展Python的功能

使用C++扩展Python的功能       环境 VS2005Python2.5.4 Windows7(32位)   简介 长话短说,这里说的扩展Python功能与直接用其它语言写一...
  • magictong
  • magictong
  • 2013年05月07日 21:52
  • 9577
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用C++创建Pyd文件扩展Python模块
举报原因:
原因补充:

(最多只允许输入30个字)