使用Visual Studio.Net 2005开发Python扩展模块

一.准备工作:

下载Python源代码编译
    到
这里下载Python-2.5.1.tar.bz2(不到10M的样子,真少)。
    解压,按照
这里的方法编译、链接。

二.编写扩展:

1、启动Visual Studio.Net 2005,创建新工程 File -> New -> Project创建新工程
      选择Visual C++ Projects/Win32/Win32 Project,输入工程名,如Windy,确定。
      (确保工程目录与您刚下载的Python源代码文件里的PC,Include在同一个目
      录下)。

2、启动向导,在Application Settings中选择"DLL"和 "Empty Project",确定。

3、添加模块文件,如Windy.c,模块源代码文件可以和模块名字不一样,这里
      设为一样是为了一直,个人喜好而已。

#include  " Python.h "

static  PyObject  *
Windy_hello(PyObject 
* self, PyObject  * args)
{
    printf(
"Hello, world ");
    Py_INCREF(Py_None);
    
return Py_None;
}


static  PyMethodDef Windy_methods[]  =   {
    
{"hello", Windy_hello, METH_VARARGS, "hello() doc string"},
    
{NULL, NULL}
}
;

PyMODINIT_FUNC
initWindy(
void )
{
    Py_InitModule(
"Windy", Windy_methods);
}

 

4、选择Project -> Windy[工程名字] Properties,对工程属性做些小小的改动。
      选择"C/C++"标签,在右边的"Addditional Include Directories"中添加如:
      下内容:
                                     ../Include,../PC
       选择"Linker"标签,在右边的"Additional library Directories"中添加如:
      下内容:
                                     ../Include,../PC
       应用设置。

5、从"Configuration"下拉列表中选择 "Release",在下边选择"Link"标签,
      展开后选择"Input"标签,在右边的"Additional Dependencies"输入框中
      添加python25.lib库。点击"C/C++"标签,选择"Code Generation",在
      右边的"Runtime library"中选择"Multi-threaded DLL"。

6、从"Configuration"下拉列表中选择 "Debug",在下边选择"Link"标签,
      展开后选择"Input"标签,在右边的"Additional Dependencies"输入框中
      添加python25_d.lib库。点击"C/C++"标签,选择"Code Generation",在
      右边的"Runtime library"中选择"Multi-threaded Debug DLL"。

7、编译链接。

注意:一般按照上面的步骤编译链接测试就应该可以成功了,不过我在我
的机子上楞是没成功,原因在于生成的DLL文件名字不对,将工程设置中
最后生成的DLL名字从
                                      $(OutDir)/$(ProjectName).dll
改成:
                                      $(OutDir)/$(ProjectName)_d.pyd
(以上为Debug模式的改法,Release模式请参照后做相应更改)

三.测试:

启动控制台cd到你的工程目录。

测试Debug模式的DLL:
Windy扩展模块测试图

OK,一个小小的测试已经搞定了,我们可以上路拉!:)

PS:为什么CSDN没有提供C/C++的代码模板啊?大多是些脚本语言的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值