总结:
1.创建dll工程;
2.增加包含头文件路径 :将python路径下的include加入到包含头文件路径:在工程属性页 C/C++/附加包含目新增<Python>\include目录
3.增加lib路径:链接器/附加库目录添加<Python>\libs目录
4.修改输出文件类型为pyd: 工程属性页/链接器/输出文件,修改输出文件名为hello.pyd
5.以release方式build
6.将生成的pyd文件拷贝到项目目录下或者可以import的lib目录下。
 

http://blog.csdn.net/jelolu/article/details/40041649 vs2008实现c语言扩展python

http://blog.csdn.net/lien0906/article/details/51122572 讲的是VS2013的python开发环境

http://jingyan.baidu.com/article/67508eb4371b9e9cca1ce412.html  C++ (VS 2013)调用Python (3.4)

http://blog.csdn.net/u010786109/article/details/41825147  Python 扩展技术总结

http://m.blog.csdn.net/article/details?id=50771316

VS 2005中实现对Python 2.5.2的模块扩展实验

以下为实验步骤:
一、VS 2005:
1. 新建Win32 Application, Application type: DLL, Additional options: Empty project.
2. Projects and Solutions->VC++ Directores中,新增<Python>\include目录到Include files和library files.
3. 新增Source Files:
hello.c:

#include <Python.h>
#include <string.h>

static PyObject *message(PyObject *self, PyObject *args) {
    char *fromPython, result[64];
    
    if (!PyArg_Parse(args, "(s)", &fromPython))
        return NULL;
    else {
        strcpy(result, "Hello, ");
        strcat(result, fromPython);
        return Py_BuildValue("s", result);
    }
}

static struct PyMethodDef hello_methods[] = {
        {"message", message, 1},
        {NULL, NULL}
};

_declspec(dllexport) void inithello() {
    (void)Py_InitModule("hello", hello_methods);
}

4. 以Release方式Build。
5. 修改扩展名.dll为pyd.

二、Python:
1. copy刚才生成的hello.pyd到项目目录下,或者可以import的lib目录。
2. 新建main.py:

import hello

print hello.message("hhahhah")

搞定。

 
 
 

vs写python扩展资料收集的更多相关文章

  1. 一步步来用C语言来写python扩展-乾颐堂

    本文介绍如何用 C 语言来扩展 python.所举的例子是,为 python 添加一个设置字符串到 windows 的剪切板(Clipboard)的功能.我在写以下代码的时候用到的环境是:window ...

  2. 一步步来用C语言来写python扩展

    本文介绍如何用 C 语言来扩展 python.所举的例子是,为 python 添加一个设置字符串到 windows 的剪切板(Clipboard)的功能.我在写... 本文介绍如何用 C 语言来扩展 ...

  3. Python学习资料收集

    1.Learn Python the hard way 2.Google's Python lesson 3.Python最佳实践 4.Full Stack Python 5.explore flas ...

  4. Python相关资料收集

    读写Excel: http://blog.csdn.net/five3/article/details/7034826http://tech.ddvip.com/2012-10/13515777031 ...

  5. Python 扩展技术总结(转)

    一般来说,所有能被整合或导入到其他Python脚本中的代码,都可以称为扩展.你可以用纯Python来写扩展,也可以用C/C++之类的编译型语言来写扩展,甚至可以用java,C都可以来写 python扩 ...

  6. Python基础+Pythonweb+Python扩展+Python选修四大专题 超强麦子学院Python35G视频教程

    [保持在百度网盘中的, 可以在观看,嘿嘿 内容有点多,要想下载, 回复后就可以查看下载地址,资源收集不易,请好好珍惜] 下载地址:http://www.fu83.cc/ 感觉文章好,可以小手一抖 -- ...

  7. 免费开源 KiCad EDA 中文资料收集整理(2019-04-30)

    免费开源 KiCad EDA 中文资料收集整理 用 KiCad 也有一段时间了,为了方便自己查找,整理一下 KiCad 的中文资料,会不定期更新. 会收集KiCad 的新闻.元件封装库.应用技巧.开源 ...

  8. 80个Python经典资料(教程+源码+工具)汇总——下载目录 ...

    原文转自:http://bbs.51cto.com/thread-935214-1.html 大家好,51CTO下载中心根据资料的热度和好评度收集了80个Python资料,分享给Python开发的同学 ...

  9. 如何用 Python 和 API 收集与分析网络数据?

    摘自 https://www.jianshu.com/p/d52020f0c247 本文以一款阿里云市场历史天气查询产品为例,为你逐步介绍如何用 Python 调用 API 收集.分析与可视化数据.希 ...

随机推荐

  1. JavaScript自动生成博文目录导航

    转载于:JavaScript自动生成博文目录导航 我们在写博客的时候,如果博文里面有目录,会给人结构清晰.一种一目了然的感觉,看目录就知道这篇博文要讲解的内容,并且点击目录标题就可以跳转到 具体的内容 ...

  2. jenkins 入门教程(下)

    接上回继续学习jenkins,这次主要来看一些疑难杂症: 一.yum install安装方式 除了直接java -jar jenkins.war方式,还可以用yum安装,这种方式下提供了更多的可配置选 ...

  3. [LeetCode] Third Maximum Number 第三大的数

    Given a non-empty array of integers, return the third maximum number in this array. If it does not e ...

  4. 用信息值进行特征选择(Information Value)

    Posted by c cm on January 3, 2014 特征选择(feature selection)或者变量选择(variable selection)是在建模之前的重要一步.数据接口越 ...

  5. Gone Fishing POJ 1042

    #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> us ...

  6. Redis 常用操作

    import org.junit.Before;import org.junit.Test;import redis.clients.jedis.Jedis;import java.util.Set; ...

  7. 在Arcscene绘制管线三维横断面(AE绘制三维点阵文字)

    根据数据信息动态生成三维管线及横断面表格.效果图如下: 在获取信息后,直接构造点阵进行文字绘制即可. 绘制IElement代码: /// <summary> /// 绘制三维文字 /// ...

  8. console在调试中的常见用法

    console在不打断程序运行的情况下在控制台输出我们想要看到的信息: 一般情况下我们用来输入信息的方法主要是用到如下四个: 1.console.log 用于输出普通信息 2.console.info ...

  9. POJ Minimum Cut

    Minimum Cut Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 9302   Accepted: 3902 Case ...

  10. 【转】web移动端一些常用知识

    1.去掉 a,input 在移动端浏览器中的默认样式(半透明灰色遮罩阴影) a,button,input,optgroup,select,textarea { -webkit-tap-highligh ...