python调用dll传指针参数
来源:互联网 发布:工龄的算法 编辑:程序博客网 时间:2024/06/15 04:33
原文:http://blog.csdn.net/xiuduyi/article/details/39609231
生成dll文件以及python对DLL中函数的调用(参数类型以及返回值)
工具:VS2010 python2.7 (若使用的python是64位的,生成的dll也要使用x64)
系统:win7pro 64bit
首先,dll工程的创建以及dll文件的生成:
new project-->win32 project-->next-->DLL,empty project-->finish
如果没有选择empty project,系统会自动创建几个文件。其中,dllmain.cpp是DLL应用程序的入口点。
添加Head Files(mydll.h),添加Source Files(mydll.cpp)
在头文件中:
#ifndef LIB_H
#define LIB_H
extern "C" { _declspec(dllexport) int add(int* x, int y);};
#endif
在mydll.cpp中:
#include "mydll.h"
int add(int* x, int y)
{
int a = (*x);
a++;
(*x) = a;
return y;
}
ctrl+F7编译之后没有问题了,就build-->build mydll,生成了mydll.lib和mydll.dll。
/××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××/
tips:
(
debug:调试版本,包含调试信息,不做任何优化,便于程序员调试程序。
release:发布版本,在代码量和运行速度上都做了优化,来使程序运行速度更快,便于用户使用。
)/××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××/
python对dll里面函数的调用。
对于int×指针类型的int,要对in的参数做处理:
import ctypes
dlltest = ctypes.cdll.LoadLibrary('dlltest.dll')
a = ctypes.c_int(5)
print dlltest.add(ctypes.byref(a),4)
print a.value
目前的发现:byref和addressof是一样的,都是把地址传过去,对应的指针类型参数
dll.Plat_VSS_PlayVideo_V20(g_iLogHandle, aaa(d), c_int(w.winId()), byref(puiHandle), None, None, None)
- python调用dll传指针参数
- C# 调用Dll 传递字符串指针参数
- C# 调用Dll 传递字符串指针参数
- C# 调用Dll 传递字符串指针参数
- c#调用delphi开发的dll的指针参数
- pb 调用dll时关于指针参数处理
- C#中调用dll,函数参数带指针
- c# 调用 c++ dll 参数为结构体数组指针
- c#调用C++写的DLL,传递二维指针参数
- 有关python调用dll的问题,指针传递的问题
- python通过swig调用c++dll时指针的用法
- python调用dll, 复杂结构体做参数。
- python调用dll动态库传入结构体作为参数
- vc 调用delphi DLL ,传字符串参数
- vc中调用dll传参数
- C# 调用C/C++ Dll(参数含char*指针,返回char*指针)
- Unity使用C#调用C++dll传递指针参数、接收指针返回值
- java调用c dll,指针参数和结构体参数搞定
- 《微软的软件测试之道》【PDF】下载
- 遇见的activiti问题。哎!
- python---异常处理
- Windows下安装PyTorch0.3.0
- 网络层——ARP协议
- python调用dll传指针参数
- 数据结构实验之图论四:迷宫探索
- 欢迎使用CSDN-markdown编辑器
- 0丢包但是无法访问目标主机,虚拟机可以访问主机
- Python:使用ctypes库调用外部DLL 数据类型对应
- jbpm介绍流程
- 设计模式-工厂模式
- DOM对象控制HTML
- Linux网络编程-UDP