python调用自定义函数返回值的类型_生成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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值