vc6编写python扩展的方法分享
系统环境:VC6 + Python-2.5.4
1、下载Python-2.5.4源码。
2、解压,打开D:\Python-2.5.4\PC\VC6\pcbuild.dsw,编译,D:\Python-2.5.4\PC\VC6\下得到python25.dll、python25_d.dll、python25.lib、python25_d.lib。
3、使用VC6建立一个动态链接库工程,拷贝D:\Python-2.5.4\PC\example_nt\example.c到工程目录下,并添加到工程中。
打开tools->options->directories,添加D:\PYTHON-2.5.4\INCLUDE 到 includes files中,添加D:\PYTHON-2.5.4\PC\VC6 到 Library files中。
打开Progect->Settings,将Win32 Debug->Link->Output file name修改为example_d.pyd,将Win32 Release->Link->Output file name修改为example.pyd
5、编译。
6、尝试调用:
D:\MY Project\testpymodule\Release>python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import example
>>> example.foo()
Hello, world
>>>
相关推荐
-
使用Pyrex来扩展和加速Python程序的教程
Pyrex 是一种专门设计用来编写 Python 扩展模块的语言.根据 Pyrex Web 站点的介绍,"它被设计用来在友好易用的高级 Python 世界和凌乱的低级 C 世界之间搭建一个桥梁."虽然几乎所有的 Python 代码都可以作为有效的 Pyrex 代码使用,但是您可以在 Pyrex 代码中添加可选的静态类型声明,从而使得这些声明过的对象以 C 语言的速度运行. 加速 Python 从某种意义上来说,Pyrex 只是不断发展的 Python 类语言系列的一个部分:Jython
-
Python中内置数据类型list,tuple,dict,set的区别和用法
Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定义一个空的List: L = [] Python中的List是有序的,所以要访问List的话显然
-
详解Python的Django框架中manage命令的使用与扩展
[简介] django-admin.py是Django的一个用于管理任务的命令行工具.本文将描述它的大概用法. 另外,在每一个Django project中都会有一个manage.py.manage.py是对django-admin.py的简单包装,它额外帮助我们做了两件事情: 它将你的project的包放到sys.path中 它将DJANGO_SETTINGS_MODULE环境变量设置为了你的project的setting.py文件的位置. 如果你是通过setup.py工具来安装Django的
-
使用C语言扩展Python程序的简单入门指引
一.简介 Python是一门功能强大的高级脚本语言,它的强大不仅表现在其自身的功能上,而且还表现在其良好的可扩展性上,正因如此,Python已经开始受到越来越多人的青睐,并且被屡屡成功地应用于各类大型软件系统的开发过程中. 与其它普通脚本语言有所不同,Python程序员可以借助Python语言提供的API,使用C或者C++来对Python进行功能性扩展,从而即可以利用Python方便灵活的语法和功能,又可以获得与C或者C++几乎相同的执行性能.执行速度慢是几乎所有脚本语言都具有的共性,也是倍受人
-
Python实现扩展内置类型的方法分析
本文实例讲述了Python实现扩展内置类型的方法.分享给大家供大家参考,具体如下: 简介 除了实现新的类型的对象方式外,有时我们也可以通过扩展Python内置类型,从而支持其它类型的数据结构,比如为列表增加队列的插入和删除的方法.本文针对此问题,结合实现集合功能的实例,介绍了扩展Python内置类型的两种方法:通过嵌入内置类型来扩展类型和通过子类方式扩展类型. 通过嵌入内置类型扩展 下面例子通过将list对象作为嵌入类型,实现集合对象,并增加了一下运算符重载.这个类知识包装了Python的列表,
-
详解Python中内置的NotImplemented类型的用法
它是什么? >>> type(NotImplemented) <type 'NotImplementedType'> NotImplemented 是Python在内置命名空间中的六个常数之一.其他有False.True.None.Ellipsis 和 __debug__.和 Ellipsis很像,NotImplemented 能被重新赋值(覆盖).对它赋值,甚至改变属性名称, 不会产生 SyntaxError.所以它不是一个真正的"真"常数.当然,我们应
-
python基础教程之基本内置数据类型介绍
Python基本内置数据类型有哪些 一些基本数据类型,比如:整型(数字).字符串.元组.列表.字典和布尔类型.随着学习进度的加深,大家还会接触到更多更有趣的数据类型,python初学者入门时先了解这几种类型就可以了. 基本内置数据类型对应符号 1)整型--int--数字python有5种数字类型,最常见的就是整型int.例如:1234.-12342)布尔型--bool--用符号==表示布尔型是一种比较特殊的python数字类型,它只有True和False两种值,它主要用来比较和判断,所得结果叫做
-
Python中扩展包的安装方法详解
前言 作为一个pythoner ,包的安装时必须懂的,这个语言跟matlab很类似,开源.共享,只要你有好的方法,都可以作为一个库,供大家下载使用,毕竟俗话说:"人生苦短,请用Python吗",下面话不多说,我们来一起看看详细的介绍吧. 方法如下: 1.单文件模块 将包拷贝到python安装目录下Lib下,eg:D:\py\Lib. 2.多文件模块 找到模块包(压缩文件zip或tar.gz)下载,进行解压,然后控制台中执行:python setup.py install xxx即可 3
-
Python内置数据类型详解
通常来说Python在编程语言中的定位为脚本语言--scripting language 高阶动态编程语言. Python是以数据为主,变量的值改变是指变量去指到一个地址. 即:Id(变量)->展示变量的地址. 因此一个具体的值,会有不同的变量名. Python的数据类型: 数字.字符串.列表.元组.字典 数字和字符串其实是很基本的数据类型,在Python中和其他语言相差不是很大的,在这里就不细讲了. Dictionary介绍: Dictionary是Python的内置数据类型之一,它定义了键和
-
vc6编写python扩展的方法分享
系统环境:VC6 + Python-2.5.4 1.下载Python-2.5.4源码. 2.解压,打开D:\Python-2.5.4\PC\VC6\pcbuild.dsw,编译,D:\Python-2.5.4\PC\VC6\下得到python25.dll.python25_d.dll.python25.lib.python25_d.lib. 3.使用VC6建立一个动态链接库工程,拷贝D:\Python-2.5.4\PC\example_nt\example.c到工程目录下,并添加到工程中. 4.
-
快速查询Python文档方法分享
Pydoc本地HTML形式查看 我们在编写Python代码时,常常会去查询某些模块及函数的使用,会选择dir()及help()函数.或查看CHM格式的Python帮助文档.或查看Python对应文件的源码.或网上搜索等方式. 这边提供一个本地快速查询Python文档的方式:将pydoc文档以本地HTML形式来查看:不论是Python内建模块,还是你本机已下载的三方模块,都能查看得到,且能定位到你本机的文件地址. 先来看下HTML页面的显示,首页如下,可使用浏览器CTRL+F搜索当前页面,快速定位
-
python pdb调试方法分享
复制代码 代码如下: import pdb def pdb_test(arg): for i in range(arg): print(i) return arg pdb.run("pdb_test(3)") b 函数名.行号: 打断点,b可以查询所有的断点. 复制代码 代码如下: (Pdb) b pdb_testBreakpoint 1 at c:\users\plpcc\desktop\pdbtest.py:3(Pdb) bNum Type
-
教你如何编写、保存与运行Python程序的方法
第一步 接下来我们将看见如何在 Python 中运行一个传统的"Hello World"程序.Python教程本章将会教你如何编写.保存与运行 Python 程序. 通过 Python 来运行的你的程序有两种方法--使用交互式解释器提示符或直接运行一个源代码文件.我们将了解如何使用他们二者的功能. 使用解释器提示符 在你的操作系统中打开终端(Terminal)程序(正如我们先前在安装章节所讨论过的那样)然后通过输入python3并按下[enter]键来打开 Python 提示符(Pyt
-
Python扩展C/C++库的方法(C转换为Python)
参考网址:https://www.shanlily.cn/archives/330 一.简介 Python是个非常流行的解释型脚本语言.而C是一个非常流行的编译语言.由于其编译的性质,导致C一般比Python要快,但是它是更底层的.相对的,Python编程更加快速和简单.故而将C库作为Python库的扩展极为必要,使得Python既融合了自身的优点,又融合了C语言的优点,正是因为这些性质使得Python越来越流行. 二.通过swing扩展C库 (1) 安装swig 命令: sudo apt-ge
-
python 统计代码耗时的几种方法分享
时间戳相减 在代码执行前后各记录一个时间点,两个时间戳相减即程序运行耗时. 获取时间戳time.time() import time start_time = time.time() sum = 0 for i in range(100000000): sum += i print(sum) end_time = time.time() print("耗时: {:.2f}秒".format(end_time - start_time)) 输出: 4999999950000000
-
python中常用的九种预处理方法分享
本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal and Variance Scaling) 变换后各维特征有0均值,单位方差.也叫z-score规范化(零均值规范化).计算方式是将特征值减去均值,除以标准差. sklearn.preprocessing.scale(X) 一般会把train和test集放在一起做标准化,或者在train集上做标准化
-
Python利用QQ邮箱发送邮件的实现方法(分享)
废话不多说,直接上代码 Python2.7 #!/usr/bin/env python2.7 # -*- coding=utf-8 -*- import smtplib from email.mime.text import MIMEText _user = "648613081@qq.com" _pwd = "这里改成你的授权码" _to = "648613081@qq.com" msg = MIMEText("this is a e
-
Python实现SSH远程登陆,并执行命令的方法(分享)
在自动化测试过程中,比较常用的操作就是对远程主机进行操作,如何操作呢?使用SSH远程登陆到主机,然后执行相应的command即可. 使用Python来实现这些操作就相当简单了.下面是测试code. 代码如下:(code运行环境:python27+eclipse+pydev) import paramiko def sshclient_execmd(hostname, port, username, password, execmd): paramiko.util.log_to_file("par
-
python判断字符串是否是json格式方法分享
在实际工作中,有时候需要对判断字符串是否为合法的json格式 解决方法使用json.loads,这样更加符合'Pythonic'写法 代码示例: Python import json def is_json(myjson): try: json_object = json.loads(myjson) except ValueError, e: return False return True 运行代码编辑模式复制折叠 输出结果: Python print is_json("{}") #
随机推荐
- JS 密码强度校验的正则表达式(简单且好用)
- 利用百度地图JSAPI生成h7n9禽流感分布图实现代码
- JS使用正则表达式实现关键字替换加粗功能示例
- 21个常用的apache .htaccess文件配置技巧分享
- iOS实现只有底部边框线的输入框示例代码
- asp.net 简便无刷新文件上传系统
- php json_encode值中大括号与花括号区别
- Python设计模式之观察者模式实例
- jfreechart插件将数据展示成饼状图、柱状图和折线图
- ExpressJS入门实例
- ImageFlow可鼠标控制图片滚动
- 使用Linux安装JDK1.7教程详解
- 初步了解javafx
- 新版vue-cli模板下本地开发环境使用node服务器跨域的方法
- javascript浏览器用户代理检测脚本实现方法
- Python实现使用request模块下载图片demo示例
- Linux下SSH免密码登录配置详解
- CentOS7环境下源码安装MySQL5.7的方法
- Docker如何部署您的第一个应用程序
- php下的原生ajax请求用法实例分析