python编译成dll文件_用vc生成可被python调用的dll文件

前提已经有.c 和.i文件

用swid编译了.i文件生成了wrap.c文件和.py文件

vc创建dll工程

将.h加入到头文件中.c文件和wrap.c文件添加到源文件中 将.i文件添加到工程目录下

Tools->Options->Directories中修改include 和lib 添加python里的include 和libs

把\libs\python27.lib复制一份 并且改名为python27_d.lib

修改 pyconfig.h (我只修改了前两样 后面没修改也成功了)

#ifdef _DEBUG

# define Py_DEBUG

#endif

为#ifdef _DEBUG

//# define Py_DEBUG

#endif

修改

# ifdef _DEBUG

# pragma comment(lib,"python24_d.lib")

# else

# pragma comment(lib,"python24.lib")

# endif /* _DEBUG */

# ifdef _DEBUG

# pragma comment(lib,"python24.lib")

# else

# pragma comment(lib,"python24.lib")

# endif /* _DEBUG */

修改object.h

修改

#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)

#define Py_TRACE_REFS

#endif

#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)

// #define Py_TRACE_REFS

#endif

把生成的name.dll文件改为_name.pyd 将前面的.py和_name.pyd文件放到一个文件中(我试的时候只有.pyd文件就可以)

新建一个test文件:

import name

aa = name.somefunction()

print(aa)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值